SlideShare a Scribd company logo
2
Most read
5
Most read
8
Most read
Recap: WebSec 101
Jannis Kirschner
Why Security?
src: https://www.veracode.com/blog/2016/08/top-4-reasons-why-application-security-should-be-your-focus
S-SDLC
• Secure Software
Development Lifecycle
• Integrating security
measures in every part of
the SDLC
Threat Modeling
OWASP Top 10
• Open Web Application Standard Project
• List of current threats
• Sorted by likelihood + impact
• Updated every few years
• Translated to several languages
Security Can Be Split Into 3 Classes
Technical Logical Configuration Issues
A1 Injection A2 Broken Authentication A3 Sensitive Data Exposure
A4 XXE A5 Broken Access Control A6 Security Misconfiguration
A7 XSS A9 Known Vulns
A8 Insecure Deserialization A10 Insufficient Logging
Technical Vulnerabilities
• Usually easiest to spot
• Happens when data doesn’t get properly validated/escaped
• When software can’t distinguish between data und logic context
• Common examples are Injections, XXE, Buffer Overflows
• Fixes usually involve validation
A1 Injection
• Root Cause: When data input gets interpreted as code (sql, xml, ldap)
• Impact: Depends on sql server config (from CRUD operations to RCE)
• Fix: Prepared Statements, Stored Procedures, (Escaping)
• Can be «blind» = no feedback from application (can be leaked by
factors like time, different behaviour)
1) ‘ characters from input field get interpreted as sql query code
2) Query evaluates statement to true and returns all entries
A4 XXE
• Root-Cause: Happens when external DTD’s/Stylesheets get resolved
• Impact: Read arbitrary files & «portscan» (RCE with libs like php expect)
• Fix: Disable parsing
1) Read file and save as DTD
2) Print content of «DTD»
A7 XSS
• Root Cause: Browser interprets data as javascript code
• Impact: Leak (non http-only) cookies, redirections...
• Fix: Output escaping, CSP-Headers, NoScript
• Multiple types:
• 1: Reflected = Requires user interaction (eg. click on link)
• 2: Stored = Affects all users because stored on server
• 3: Dom-based = Never reaches server
1) User opens link, reflected js gets executed
2) User visits guestbook, stored js gets executed
3) User opens link, dom-based js gets executed
4) Because location.search gets text
5) And attr «rewrites» object
A8 Insecure Deserialization («Object Injection»)
• Root Cause: When serialized data (serialize, pickle, yaml) gets
trusted/evaluated
• Impact: From privilege escalation to rce
• Fix: Validation
1) Input gets trusted, user becomes admin through setting flag clientside
2) User sends serialized object
3) Server deserializes data
4) Object gets interpreted as «inject» variable
5) Variable gets evaluated leading to RCE
Logical Vulnerabilities
• Errors in application logic
• Harder to identify
• Examples are Access Control Issues, Race Conditions, Unexpected
Behaviour
• Fixes can range from validation to redesign of application
A2 Broken Authentication
• Collection of issues connected to the authentication process
• Examples are user pw’s not hashed, no session timeout, no rotating
session id’s etc...
• Fix: Application redesign, Implementation MFA
A5 Broken Access Control
• Collection of issues connected to authorisation
• Impact: Sensitive Data Exposure, Privilege Escalation
• Fix: ACL’s and validation
1) Attacker could input arbitrary account name and view private information
Configuration Issues
• Often easy to find by scanners
• Can be caused when software is misconfigured
• Examples are Path Traversal, Using Vulnerable Libraries, Unsufficient
Logging, Open AWS S3 buckets etc...
• Usually patched by editing configuration files
A3 Sensitive Data Exposure
• Collection of issues regarding sensitive data
• Examples are plaintext protocols, default crypto keys, public S3
buckets
A6 Security Misconfiguration
• Collection of issues regarding various misconfigurations
• Examples are unnecessary open ports, path traversal, default
passwords, public error logs
Admin:Admin
A9 Components with known vulnerabilities
• Using libraries that contain known vulnerable code
• Can be checked with: https://www.cvedetails.com/
• Case-Study: JS Event-Stream Library
A10 Insufficient Logging and Monitoring
• When security issues only get detected after a breach or can’t be
reconstructed due to missing logs
• Logging/Monitoring has to be part of every step of the S-SDLC

More Related Content

PPT
Introduction To OWASP
PPSX
Web application security
PDF
Introduction to Software Security and Best Practices
PDF
OWASP Top 10 - 2017
PDF
Web application security & Testing
PPTX
Secure coding practices
PPTX
Introduction to Cybersecurity
PPTX
Web application security
Introduction To OWASP
Web application security
Introduction to Software Security and Best Practices
OWASP Top 10 - 2017
Web application security & Testing
Secure coding practices
Introduction to Cybersecurity
Web application security

What's hot (20)

PPTX
Vulnerabilities in modern web applications
PPTX
Cybersecurity Attack Vectors: How to Protect Your Organization
PPTX
A5: Security Misconfiguration
PPT
Top 10 Web Security Vulnerabilities (OWASP Top 10)
PPTX
Command injection
PDF
Attack modeling vs threat modelling
PPTX
Secure coding practices
PPTX
OWASP Top 10 2021 Presentation (Jul 2022)
PDF
Web Application Security and Awareness
PPTX
OWASP Top 10 2021 What's New
PDF
Web Application Security 101
PPTX
Vulnerability Assessment Presentation
PPTX
Metasploit
PDF
Web App Security Presentation by Ryan Holland - 05-31-2017
PPTX
Introduction to Malware Analysis
PPT
Hacking web applications
PPTX
OWASP A4 XML External Entities (XXE)
PPTX
Application security
PPTX
Intrusion detection
 
PDF
Secure Coding principles by example: Build Security In from the start - Carlo...
Vulnerabilities in modern web applications
Cybersecurity Attack Vectors: How to Protect Your Organization
A5: Security Misconfiguration
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Command injection
Attack modeling vs threat modelling
Secure coding practices
OWASP Top 10 2021 Presentation (Jul 2022)
Web Application Security and Awareness
OWASP Top 10 2021 What's New
Web Application Security 101
Vulnerability Assessment Presentation
Metasploit
Web App Security Presentation by Ryan Holland - 05-31-2017
Introduction to Malware Analysis
Hacking web applications
OWASP A4 XML External Entities (XXE)
Application security
Intrusion detection
 
Secure Coding principles by example: Build Security In from the start - Carlo...
Ad

Similar to Web Application Security 101 (20)

PDF
Tuenti: Web Application Security
PDF
Tuenti: Web Application Security
PDF
Owasp top 10_openwest_2019
PPTX
Web app security essentials
PDF
Security Ninjas: An Open Source Application Security Training Program
PPT
Secure code practices
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
PDF
API Upload Test
Tuenti: Web Application Security
Tuenti: Web Application Security
Owasp top 10_openwest_2019
Web app security essentials
Security Ninjas: An Open Source Application Security Training Program
Secure code practices
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
API Upload Test
Ad

Recently uploaded (20)

PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
KodekX | Application Modernization Development
PDF
Empathic Computing: Creating Shared Understanding
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Network Security Unit 5.pdf for BCA BBA.
PPTX
Big Data Technologies - Introduction.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Encapsulation theory and applications.pdf
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
The Rise and Fall of 3GPP – Time for a Sabbatical?
Programs and apps: productivity, graphics, security and other tools
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
KodekX | Application Modernization Development
Empathic Computing: Creating Shared Understanding
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Network Security Unit 5.pdf for BCA BBA.
Big Data Technologies - Introduction.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Encapsulation theory and applications.pdf
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Dropbox Q2 2025 Financial Results & Investor Presentation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)

Web Application Security 101

  • 3. S-SDLC • Secure Software Development Lifecycle • Integrating security measures in every part of the SDLC
  • 5. OWASP Top 10 • Open Web Application Standard Project • List of current threats • Sorted by likelihood + impact • Updated every few years • Translated to several languages
  • 6. Security Can Be Split Into 3 Classes Technical Logical Configuration Issues A1 Injection A2 Broken Authentication A3 Sensitive Data Exposure A4 XXE A5 Broken Access Control A6 Security Misconfiguration A7 XSS A9 Known Vulns A8 Insecure Deserialization A10 Insufficient Logging
  • 7. Technical Vulnerabilities • Usually easiest to spot • Happens when data doesn’t get properly validated/escaped • When software can’t distinguish between data und logic context • Common examples are Injections, XXE, Buffer Overflows • Fixes usually involve validation
  • 8. A1 Injection • Root Cause: When data input gets interpreted as code (sql, xml, ldap) • Impact: Depends on sql server config (from CRUD operations to RCE) • Fix: Prepared Statements, Stored Procedures, (Escaping) • Can be «blind» = no feedback from application (can be leaked by factors like time, different behaviour) 1) ‘ characters from input field get interpreted as sql query code 2) Query evaluates statement to true and returns all entries
  • 9. A4 XXE • Root-Cause: Happens when external DTD’s/Stylesheets get resolved • Impact: Read arbitrary files & «portscan» (RCE with libs like php expect) • Fix: Disable parsing 1) Read file and save as DTD 2) Print content of «DTD»
  • 10. A7 XSS • Root Cause: Browser interprets data as javascript code • Impact: Leak (non http-only) cookies, redirections... • Fix: Output escaping, CSP-Headers, NoScript • Multiple types: • 1: Reflected = Requires user interaction (eg. click on link) • 2: Stored = Affects all users because stored on server • 3: Dom-based = Never reaches server 1) User opens link, reflected js gets executed 2) User visits guestbook, stored js gets executed 3) User opens link, dom-based js gets executed 4) Because location.search gets text 5) And attr «rewrites» object
  • 11. A8 Insecure Deserialization («Object Injection») • Root Cause: When serialized data (serialize, pickle, yaml) gets trusted/evaluated • Impact: From privilege escalation to rce • Fix: Validation 1) Input gets trusted, user becomes admin through setting flag clientside 2) User sends serialized object 3) Server deserializes data 4) Object gets interpreted as «inject» variable 5) Variable gets evaluated leading to RCE
  • 12. Logical Vulnerabilities • Errors in application logic • Harder to identify • Examples are Access Control Issues, Race Conditions, Unexpected Behaviour • Fixes can range from validation to redesign of application
  • 13. A2 Broken Authentication • Collection of issues connected to the authentication process • Examples are user pw’s not hashed, no session timeout, no rotating session id’s etc... • Fix: Application redesign, Implementation MFA
  • 14. A5 Broken Access Control • Collection of issues connected to authorisation • Impact: Sensitive Data Exposure, Privilege Escalation • Fix: ACL’s and validation 1) Attacker could input arbitrary account name and view private information
  • 15. Configuration Issues • Often easy to find by scanners • Can be caused when software is misconfigured • Examples are Path Traversal, Using Vulnerable Libraries, Unsufficient Logging, Open AWS S3 buckets etc... • Usually patched by editing configuration files
  • 16. A3 Sensitive Data Exposure • Collection of issues regarding sensitive data • Examples are plaintext protocols, default crypto keys, public S3 buckets
  • 17. A6 Security Misconfiguration • Collection of issues regarding various misconfigurations • Examples are unnecessary open ports, path traversal, default passwords, public error logs Admin:Admin
  • 18. A9 Components with known vulnerabilities • Using libraries that contain known vulnerable code • Can be checked with: https://www.cvedetails.com/ • Case-Study: JS Event-Stream Library
  • 19. A10 Insufficient Logging and Monitoring • When security issues only get detected after a breach or can’t be reconstructed due to missing logs • Logging/Monitoring has to be part of every step of the S-SDLC