SlideShare a Scribd company logo
1 of 46
A Boy,
A Sugar Glider and
the TSA
Brian Clark
@_clarkio
Credit: https://www.flickr.com/photos/pitmanra/
Credit: https://www.flickr.com/photos/pitmanra/
The
Story
Credit: https://www.flickr.com/photos/diamondtdesign/
Credit: https://www.flickr.com/photos/25802865@N08/
Credit: https://www.flickr.com/photos/lostintexas/
Credit: https://www.flickr.com/photos/muar_chee/
Browser
http://insecureheroes.com
Server
http://insecureheroes.com
Browser
http://insecureheroes.com
Server
http://insecureheroes.com
Browser
http://insecureheroes.com
Server
http://insecureheroes.com
Browser
http://insecureheroes.comCookies
Server
http://insecureheroes.com
Browser
http://insecureheroes.comCookies
Server
http://insecureheroes.com
Hero: Luke
Browser
http://insecureheroes.comCookies
Server
http://insecureheroes.com
http://clickbaity.co
Browser
http://insecureheroes.comCookies
Server
http://insecureheroes.com
http://attacker.com
Attack
insecureheroes.com
Hero: Darth
An attack that executes a request on behalf of another
authenticated user that was not intending to perform
that action being requested
Cross-site Request Forgery
Synchronizer
Token
Pattern
Random token
Unique to user and
session
Part of the request header
Validated server-side
https://www.npmjs.com/package/csur
f
https://angular.io/guide/http#security-xsrf-protection
https://caniuse.com/#search=samesi
te
Credit: https://www.flickr.com/photos/hyku/
Credit: https://www.flickr.com/photos/hdport/
Credit: https://www.flickr.com/photos/27229185@N05/
An attack that injects malicious code into a trusted web
site such that it may be executed unintendedly by other
users
Cross-site Scripting (XSS)
Prevention
Content Security PolicyInput Handling
Control what resources
the browser is allowed to
load
Ensure data is aligned
with the expectations for
its intended use
Input Handling
Input Handling
EscapingSanitizationValidation
Sanitization EscapingValidation
Ensure the data is legit
Invalid Email
Result
:
Validation EscapingSanitization
Clean the bad data
BC
Result
:
SanitizationValidation Escaping
Encode the bad data
B<script>alert(1);</script>C
Result
:
Do not trust user input
Where should we apply
input handlers?
Where should we apply
input handlers?
Client? Server?
Browser
http://insecureheroes.com
Server
http://insecureheroes.com
Security
Boundary
Browser
http://insecureheroes.com
Server
http://insecureheroes.com
Security
Boundary
Untrusted
Browser
http://insecureheroes.com
Server
http://insecureheroes.com
Security
Boundary
Trusted
Both
https://angular.io/guide/security
https://angular.io/guide/security
https://www.npmjs.com/package/express-validator
https://www.npmjs.com/package/xss-filters
Summary
Access Control
Malicious Input
Sugar Gliders
Faking Requests
Reference
s
https://owasp.org
https://github.com/Azure-Samples/angular-cosmosdb
(branch: insecure-heroes)
https://angular.io/guide/security
https://www.npmjs.com/package/csurf
https://angular.io/guide/http#security-xsrf-protection
https://caniuse.com/#search=samesite
Brian Clark
@_clarki
o
Thank You!

More Related Content

What's hot

How To Move A Closed Development Community To Open
How To Move A Closed Development Community To OpenHow To Move A Closed Development Community To Open
How To Move A Closed Development Community To Open
Mike Pulsifer
 

What's hot (19)

Facebook Masters Training – Facebook Strategy w/ Justin Levy of Citrix
Facebook Masters Training – Facebook Strategy w/ Justin Levy of CitrixFacebook Masters Training – Facebook Strategy w/ Justin Levy of Citrix
Facebook Masters Training – Facebook Strategy w/ Justin Levy of Citrix
 
Digital IUPAC: The need for global representation of chemistry and chemical i...
Digital IUPAC: The need for global representation of chemistry and chemical i...Digital IUPAC: The need for global representation of chemistry and chemical i...
Digital IUPAC: The need for global representation of chemistry and chemical i...
 
Dog sledding
Dog sleddingDog sledding
Dog sledding
 
Practica tic, Ainara
Practica tic, AinaraPractica tic, Ainara
Practica tic, Ainara
 
ورشة الكامتازيا
ورشة الكامتازياورشة الكامتازيا
ورشة الكامتازيا
 
11 Secrets of Blog Promotion - Internet Marketing Club
11 Secrets of Blog Promotion - Internet Marketing Club11 Secrets of Blog Promotion - Internet Marketing Club
11 Secrets of Blog Promotion - Internet Marketing Club
 
Understanding Your Audience’s Content Need, by Laura Creekmore
Understanding Your Audience’s Content Need, by Laura CreekmoreUnderstanding Your Audience’s Content Need, by Laura Creekmore
Understanding Your Audience’s Content Need, by Laura Creekmore
 
Introduction to digital verification in news
Introduction to digital verification in newsIntroduction to digital verification in news
Introduction to digital verification in news
 
Beating the hoaxers at their own game
Beating the hoaxers at their own gameBeating the hoaxers at their own game
Beating the hoaxers at their own game
 
FLICKR, miradas inusuales de desnudos
FLICKR, miradas inusuales de desnudosFLICKR, miradas inusuales de desnudos
FLICKR, miradas inusuales de desnudos
 
Facebook & Twitter 101
Facebook & Twitter 101Facebook & Twitter 101
Facebook & Twitter 101
 
How To Move A Closed Development Community To Open
How To Move A Closed Development Community To OpenHow To Move A Closed Development Community To Open
How To Move A Closed Development Community To Open
 
Wohlbefinden
WohlbefindenWohlbefinden
Wohlbefinden
 
Rules of composition
Rules of compositionRules of composition
Rules of composition
 
Tips
TipsTips
Tips
 
Manager de demain
Manager de demainManager de demain
Manager de demain
 
Social Media Use and Fulfilling the Need to Belong
Social Media Use and Fulfilling the Need to BelongSocial Media Use and Fulfilling the Need to Belong
Social Media Use and Fulfilling the Need to Belong
 
Top 10 slide tips
Top 10 slide tipsTop 10 slide tips
Top 10 slide tips
 
Growing your twitter audience 2011.08.08
Growing your twitter audience 2011.08.08Growing your twitter audience 2011.08.08
Growing your twitter audience 2011.08.08
 

Similar to 2018 Orlando Code Camp Application Security

Digital Storytelling
Digital StorytellingDigital Storytelling
Digital Storytelling
RachelStaman
 
Lesson17vocab
Lesson17vocabLesson17vocab
Lesson17vocab
PEDH
 
Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2
Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2
Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2
ALATechSource
 
Lesson19vocab
Lesson19vocabLesson19vocab
Lesson19vocab
PEDH
 
Aup internet safety presentation - staff
Aup internet safety presentation - staffAup internet safety presentation - staff
Aup internet safety presentation - staff
landonscism
 
Marketing throughpublishing
Marketing throughpublishingMarketing throughpublishing
Marketing throughpublishing
Rod Paddock
 

Similar to 2018 Orlando Code Camp Application Security (20)

Tots Too Hot : The Good, The Bad and the Ugly of Pediatric Fever
Tots Too Hot : The Good, The Bad and the Ugly of Pediatric FeverTots Too Hot : The Good, The Bad and the Ugly of Pediatric Fever
Tots Too Hot : The Good, The Bad and the Ugly of Pediatric Fever
 
Anderson_Jamar_IgniteSlideShare
Anderson_Jamar_IgniteSlideShareAnderson_Jamar_IgniteSlideShare
Anderson_Jamar_IgniteSlideShare
 
Digital Storytelling
Digital StorytellingDigital Storytelling
Digital Storytelling
 
Don't Forget to Pack Your Social Network: Data Portability Myths and Realities
Don't Forget to Pack Your Social Network: Data Portability Myths and RealitiesDon't Forget to Pack Your Social Network: Data Portability Myths and Realities
Don't Forget to Pack Your Social Network: Data Portability Myths and Realities
 
Lesson17vocab
Lesson17vocabLesson17vocab
Lesson17vocab
 
Internet Awareness 2011
Internet Awareness 2011Internet Awareness 2011
Internet Awareness 2011
 
Libraries and Innovation: Creating environments for encouraging and supportin...
Libraries and Innovation: Creating environments for encouraging and supportin...Libraries and Innovation: Creating environments for encouraging and supportin...
Libraries and Innovation: Creating environments for encouraging and supportin...
 
Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2
Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2
Library Analytics with Char Booth and Paul Signorelli, Session 1 Part 2
 
Lesson19vocab
Lesson19vocabLesson19vocab
Lesson19vocab
 
The Value of Leadership, the Leadership of Value: Remaining Relevant in times...
The Value of Leadership, the Leadership of Value: Remaining Relevant in times...The Value of Leadership, the Leadership of Value: Remaining Relevant in times...
The Value of Leadership, the Leadership of Value: Remaining Relevant in times...
 
Board to Death: Improving Prehospital Spinal Stabilization
Board to Death: Improving Prehospital Spinal StabilizationBoard to Death: Improving Prehospital Spinal Stabilization
Board to Death: Improving Prehospital Spinal Stabilization
 
The iPad Learning Studio v1
The iPad Learning Studio v1The iPad Learning Studio v1
The iPad Learning Studio v1
 
Branch_Derrick_4.4
Branch_Derrick_4.4Branch_Derrick_4.4
Branch_Derrick_4.4
 
Aup internet safety presentation - staff
Aup internet safety presentation - staffAup internet safety presentation - staff
Aup internet safety presentation - staff
 
Suporte técnico em redes sociais
Suporte técnico em redes sociaisSuporte técnico em redes sociais
Suporte técnico em redes sociais
 
Bridging the Gap - The Future of Learning
Bridging the Gap - The Future of LearningBridging the Gap - The Future of Learning
Bridging the Gap - The Future of Learning
 
Abdulaziz Bandar Visual Resume
Abdulaziz Bandar Visual ResumeAbdulaziz Bandar Visual Resume
Abdulaziz Bandar Visual Resume
 
Katie and Brooke Period 4
Katie and Brooke Period 4Katie and Brooke Period 4
Katie and Brooke Period 4
 
Marketing throughpublishing
Marketing throughpublishingMarketing throughpublishing
Marketing throughpublishing
 
Design is thinking made visual
Design is thinking made visualDesign is thinking made visual
Design is thinking made visual
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Recently uploaded (20)

Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 

2018 Orlando Code Camp Application Security

Editor's Notes

  1. Photo credit: Author: https://www.flickr.com/photos/pitmanra/ Photo: https://flic.kr/p/LaQtet License: (unmodified) https://creativecommons.org/licenses/by/2.0/
  2. Photo credit: Author: https://www.flickr.com/photos/pitmanra/ Photo: https://flic.kr/p/LaQtet License: (unmodified) https://creativecommons.org/licenses/by/2.0/
  3. Photo Credit: https://flic.kr/p/22d59sj Author: https://www.flickr.com/photos/diamondtdesign/
  4. Photo credit: Author: https://www.flickr.com/photos/25802865@N08/ Photo: https://flic.kr/p/dzaqmy License: (unmodified) https://creativecommons.org/licenses/by-nc-sa/2.0/
  5. Photo credit: Author: https://www.flickr.com/photos/lostintexas/ Photo: https://flic.kr/p/JBTg3 License: (unmodified) https://creativecommons.org/licenses/by/2.0/
  6. Photo credit: Author: https://www.flickr.com/photos/muar_chee/ Photo: https://flic.kr/p/4e42Ci License: (unmodified) https://creativecommons.org/licenses/by-nc-nd/2.0/
  7. Photo credit: Author: https://www.flickr.com/photos/hyku/ Photo: https://flic.kr/p/DLxpR License: (unmodified) https://creativecommons.org/licenses/by/2.0/
  8. Photo credit: Author: https://www.flickr.com/photos/hdport/ Photo: https://flic.kr/p/o5ovb3 License: (unmodified) https://creativecommons.org/licenses/by/2.0/
  9. Photo credit: Author: https://www.flickr.com/photos/27229185@N05/ Photo: https://flic.kr/p/7GJZqc License: (unmodified) https://creativecommons.org/licenses/by-nc-nd/2.0/