SlideShare a Scribd company logo
1 of 27
Manish Dusad (dusad@avaya.com)
Sumita Uday (suday@avaya.com)
All you wanted to know about
OWASP WEB TOP 10 !
Covering the first FIVE vulnerabilities
OWASP Web Top 5
• Injection
• Broken Authentication/Session Management
• Cross-Site scripting – XSS
• Insecure Direct Object Reference
• Security Misconfiguration
Injection
OWASP Definition:
Injection flaws, particularly SQL injection, are common in web applications.
Injection occurs when user-supplied data is sent to an interpreter as part of a
command or query. The attacker’s hostile data tricks the interpreter into executing
unintended commands or changing data.
Injection
Injection
What happens when the Login button is clicked?
User name & Password is sent to the server
Server does a lookup of the username/password against some
database
Server checks if the Password matches against the result of the
query
Query
Can be SQL like statements (mostly are)
Or, could be against an external system
LDAP
SSO
Firewall
Hardened OS
Web Server
App Server
Firewall
Databases
LegacySystems
WebServices
Directories
HumanResrcs
Billing
Custom Code
APPLICATION
ATTACK
NetworkLayerApplicationLayer
Accounts
Finance
Administration
Transactions
Communication
KnowledgeMgmt
E-Commerce
Bus.Functions
HTTP
request

SQL
query

DB Table


HTTP
response


"SELECT * FROM
accounts WHERE
acct=‘’ OR 1=1--
’"
1. Application presents a form to
the attacker
2. Attacker sends an attack in the
form data
3. Application forwards attack to
the database in a SQL query
Account Summary
Acct:5424-6066-2134-4334
Acct:4128-7574-3921-0192
Acct:5424-9383-2039-4029
Acct:4128-0004-1234-0293
4. Database runs query containing
attack and sends encrypted results
back to application
5. Application decrypts data as
normal and sends results to the
user
Account:
SKU:
Account:
SKU:
SQL Injection
• Untrusted Data is sent to an interpreter as
part of a command or query.
• Other Database specific constructs can also be
passed to determine the DBMS used.
• Very prevalent, especially in Legacy Code.
• Easier to detect using Code Inspection, than
testing.
• Can result in Data Stealing/Loss/Corruption
Recommendations
• Use an interface that supports ‘bind variables’ – they allow
the interpreter to distinguish between ‘code’ and ‘data’
– Prepared Statements
String query = "SELECT * FROM accounts WHERE
account = ?";
PreparedStatement pstmt =
connection.prepareStatement(query , … );
pstmt.setString( 1,
request.getParameter("acct"));
ResultSet results = pstmt.executeQuery( );
– Stored Procedures
Recommendations
• Encode user input before passing to the interpreter
• Perform white list/black list input validation on all user
supplied input
– create, alter, drop, rename, select,
insert, update, delete, grant, revoke,
@@version, exec, union, waitfor, order
by, case when, utl_, winhttp
• Minimize Database privileges to reduce impact of a
flaw
• Use a vetted library or framework
Broken Authentication/Session Management
OWASP Definition:
Account credentials and session tokens are often not properly protected.
Attackers compromise passwords, keys, or authentication tokens to
assume other users’ identities.
Custom Code
Accounts
Finance
Administration
Transactions
Communication
KnowledgeMgmt
E-Commerce
Bus.Functions
1 User sends credentials
2Site uses URL rewriting
(i.e., put session in URL)
3 User clicks on a link to http://www.hacker.com in
a forum
www.boi.com?JSESSIONID=9FA1DB9EA...
4
Hacker checks referrer logs on www.hacker.com
and finds user’s JSESSIONID
5 Hacker uses JSESSIONID and
takes over victim’s account
• HTTP is a stateless protocol
– Credentials are have to go with every request
– Should use SSL for everything requiring authentication
• Session Management Flaws
– Session ID is used to track state, as HTTP doesn’t – just as
good as credentials to an attacker
– Session ID is typically exposed on the network, in browser
logs, etc.
• Typical Impact
– User account compromised
– User session Hijacked
Recommendations
• Authentication should be simple, centralized and standardized
• Use the standard session ID provided by the container
– Change the name to avoid ‘obviousness’
• Make sure that SSL protects both, credentials as well as session ID
• Verify that logoff actually destroys the session
Session session = request.getSession();
session.invalidate();
 Implement Session Time-outs
 Change Session ID after successful login
 Set cookies as HTTP-Only and secure (on SSL)
AIC_SESSIONID=728CA9E50D86BA91384191F3793B064C; Path=/website;
HttpOnly
• Predictable Login Credential
• Credentials are not protected when stored
using hashing or encryption
• Password Strength
• Password Expiry
Broken Account and Session Management
Broken Account and Session Management: Protection
 Password Storage - never store passwords in plain text. Passwords
should always be stored in either hashed (preferred) or encrypted form.
 Protecting Credentials in Transit - to prevent "man-in-the-middle"
attacks the entire authenticated session / transaction should be
encrypted SSLv3 or TLSv1
 Man-in-the-middle attacks - are still possible with SSL if users disable
or ignore warnings about invalid SSL certificates.
 Replay attacks - Transformations such as hashing on the client side
provide little protection as the hashed version can simply be intercepted
and retransmitted so that the actual plain text password is not needed.
15
Cross-Site Scripting (XSS)
• A quick View
Cross-Site Scripting (XSS)
• OWASP definition
Types of XSS
• Server XSS
– Server XSS occurs when untrusted user supplied data is included in an HTML response generated by the server.
– The source of this data could be from the request, or from a stored location.
– The entire vulnerability is in server- side code, and the browser is simply rendering the response and executing any
valid script embedded in it.
• Client XSS
– Client XSS occurs when untrusted user supplied data is used to update the DOM with an unsafe JavaScript call.
– The ultimate source of the data could have been from a request, or
from a stored location on the client or the server.
• Stored XSS Attacks
– Stored attacks are those where the injected script is permanently stored
on the target servers, such as in a database, in a message forum, visitor log,
comment field, etc.
• Reflected XSS Attacks
– Reflected attacks are those where the injected script is reflected off the
web server, such as in an error message, search result, or any other response
that includes some or all of the input sent to the server as part of the request
Reflected Vs Stored
Recommendations
• All input must be validated against a positive or
“whitelist” of acceptable value ranges.
• You MUST use the escape syntax for the part of
the HTML document you're putting untrusted
data into.
• consider auto-sanitization libraries like OWASP’s
AntiSamy
• Consider Content Security Policy (CSP) to defend
against XSS across your entire site.
Insecure Direct Object Reference
• OWASP definition
Insecure direct object references
After clicking the button, the
customer details are returned
and written to the page
Hitting the button exposes the following information in
Firebug:
If we jump over to the response tab, we start to see some really
interesting info:
{"d":{"__type":"Customer:#Web","Address":"3 NIBM
Road","CustomerID":3,"Email":“suday@avaya.com","FirstName":“Sumita","Pos
tcode":“411048","State":“MH",“City":“Pune"}}
Re-issue the
same request
but with a
different
customer ID
What made this possible?
• The fact that the customer’s ID was an integer;
auto-incrementing it is both logical and straight
forward.
• Obviously the problem here was unauthorized
access and the solution is to add some controls
around who can access the service
– Establish an identity, validate access rights then run
the service otherwise bail them out.
– validating the user’s right access the customer
data before anything is returned by the service
Recommendations
• Using an indirect reference map
– An indirect reference map is simply a substitution of the internal reference with an
alternate ID which can be safely exposed externally.
• Check Access
– Each use of a direct object reference from an untrusted source must include an access
control check to ensure the user is authorized for the requested object.
Security Misconfiguration
• OWASP definition
Recommendations
Positive step forward for this vulnerability :
– Develop a repeatable process to reduce the surface of vulnerability
– Disable default accounts and change passwords
– Keep your frameworks up to date
– Develop a strong application architecture that effectively isolates components
and encrypts data which is especially important with sensitive data.
– Disable any unnecessary files or features
– Ensure security settings in development frameworks and libraries are set to
secure values
– Run tools (i.e. automated scanners) and perform regular audits to identify holes
in the security configuration
– Customize your error messages
– Get those traces under control
– Disable debugging
– Encrypt sensitive configuration data
– Apply the principle of least privilege to your database/others user accounts
Owasp first5 presentation

More Related Content

What's hot

Web application vulnerability assessment
Web application vulnerability assessmentWeb application vulnerability assessment
Web application vulnerability assessmentRavikumar Paghdal
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)Sam Bowne
 
OWASP top 10-2013
OWASP top 10-2013OWASP top 10-2013
OWASP top 10-2013tmd800
 
CNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application LogicCNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application LogicSam Bowne
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Brian Huff
 
CNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access ControlsCNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access ControlsSam Bowne
 
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationSam Bowne
 
Mobile security chess board - attacks & defense
Mobile security chess board - attacks & defenseMobile security chess board - attacks & defense
Mobile security chess board - attacks & defenseBlueinfy Solutions
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Application Security   Part 1   Threat Defense In Client Server Applications ...Application Security   Part 1   Threat Defense In Client Server Applications ...
Application Security Part 1 Threat Defense In Client Server Applications ...Greg Sohl
 
Securing Your .NET Application
Securing Your .NET ApplicationSecuring Your .NET Application
Securing Your .NET ApplicationIron Speed
 
SQLi for Security Champions
SQLi for Security ChampionsSQLi for Security Champions
SQLi for Security ChampionsPetraVukmirovic
 
CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2Sam Bowne
 
[Wroclaw #6] Introduction to desktop browser add-ons
[Wroclaw #6] Introduction to desktop browser add-ons[Wroclaw #6] Introduction to desktop browser add-ons
[Wroclaw #6] Introduction to desktop browser add-onsOWASP
 
Sweden dst tpam 2014
Sweden dst tpam 2014Sweden dst tpam 2014
Sweden dst tpam 2014Ronny Stavem
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)Sam Bowne
 
CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationCNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationSam Bowne
 
Owasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesOwasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesMarco Morana
 
Web Application Penetration Test
Web Application Penetration TestWeb Application Penetration Test
Web Application Penetration Testmartinvoelk
 

What's hot (19)

Step by step guide for web application security testing
Step by step guide for web application security testingStep by step guide for web application security testing
Step by step guide for web application security testing
 
Web application vulnerability assessment
Web application vulnerability assessmentWeb application vulnerability assessment
Web application vulnerability assessment
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 2 of 2)
 
OWASP top 10-2013
OWASP top 10-2013OWASP top 10-2013
OWASP top 10-2013
 
CNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application LogicCNIT 129S: 11: Attacking Application Logic
CNIT 129S: 11: Attacking Application Logic
 
Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)Top 10 Web Security Vulnerabilities (OWASP Top 10)
Top 10 Web Security Vulnerabilities (OWASP Top 10)
 
CNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access ControlsCNIT 129S: 8: Attacking Access Controls
CNIT 129S: 8: Attacking Access Controls
 
CNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking AuthenticationCNIT 129S: Ch 6: Attacking Authentication
CNIT 129S: Ch 6: Attacking Authentication
 
Mobile security chess board - attacks & defense
Mobile security chess board - attacks & defenseMobile security chess board - attacks & defense
Mobile security chess board - attacks & defense
 
Application Security Part 1 Threat Defense In Client Server Applications ...
Application Security   Part 1   Threat Defense In Client Server Applications ...Application Security   Part 1   Threat Defense In Client Server Applications ...
Application Security Part 1 Threat Defense In Client Server Applications ...
 
Securing Your .NET Application
Securing Your .NET ApplicationSecuring Your .NET Application
Securing Your .NET Application
 
SQLi for Security Champions
SQLi for Security ChampionsSQLi for Security Champions
SQLi for Security Champions
 
CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2CNIT 129S: Securing Web Applications Ch 1-2
CNIT 129S: Securing Web Applications Ch 1-2
 
[Wroclaw #6] Introduction to desktop browser add-ons
[Wroclaw #6] Introduction to desktop browser add-ons[Wroclaw #6] Introduction to desktop browser add-ons
[Wroclaw #6] Introduction to desktop browser add-ons
 
Sweden dst tpam 2014
Sweden dst tpam 2014Sweden dst tpam 2014
Sweden dst tpam 2014
 
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
CNIT 129S: 13: Attacking Users: Other Techniques (Part 1 of 2)
 
CNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking AuthenticationCNIT 129S - Ch 6a: Attacking Authentication
CNIT 129S - Ch 6a: Attacking Authentication
 
Owasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root CausesOwasp Top 10 And Security Flaw Root Causes
Owasp Top 10 And Security Flaw Root Causes
 
Web Application Penetration Test
Web Application Penetration TestWeb Application Penetration Test
Web Application Penetration Test
 

Viewers also liked

Iaitam 2012-zero-to-60-v2
Iaitam 2012-zero-to-60-v2Iaitam 2012-zero-to-60-v2
Iaitam 2012-zero-to-60-v2slemm
 
Iaitam2010 slemm
Iaitam2010 slemmIaitam2010 slemm
Iaitam2010 slemmslemm
 
The business case for ITAM – how to win senior management approval: Martin Th...
The business case for ITAM – how to win senior management approval: Martin Th...The business case for ITAM – how to win senior management approval: Martin Th...
The business case for ITAM – how to win senior management approval: Martin Th...Martin Thompson
 
Benchmarking ITAM: Understand and grow your organization's IT Asset Manageme...
Benchmarking ITAM:  Understand and grow your organization's IT Asset Manageme...Benchmarking ITAM:  Understand and grow your organization's IT Asset Manageme...
Benchmarking ITAM: Understand and grow your organization's IT Asset Manageme...Jon Stevens-Hall
 
ITAM 2015-2020: How new technology will shape the role of the IT Asset Manager
ITAM 2015-2020: How new technology will shape the role of the IT Asset ManagerITAM 2015-2020: How new technology will shape the role of the IT Asset Manager
ITAM 2015-2020: How new technology will shape the role of the IT Asset ManagerJon Stevens-Hall
 

Viewers also liked (6)

Iaitam 2012-zero-to-60-v2
Iaitam 2012-zero-to-60-v2Iaitam 2012-zero-to-60-v2
Iaitam 2012-zero-to-60-v2
 
Iaitam2010 slemm
Iaitam2010 slemmIaitam2010 slemm
Iaitam2010 slemm
 
The business case for ITAM – how to win senior management approval: Martin Th...
The business case for ITAM – how to win senior management approval: Martin Th...The business case for ITAM – how to win senior management approval: Martin Th...
The business case for ITAM – how to win senior management approval: Martin Th...
 
AMI - Building a Business Case for ITAM
AMI - Building a Business Case for ITAMAMI - Building a Business Case for ITAM
AMI - Building a Business Case for ITAM
 
Benchmarking ITAM: Understand and grow your organization's IT Asset Manageme...
Benchmarking ITAM:  Understand and grow your organization's IT Asset Manageme...Benchmarking ITAM:  Understand and grow your organization's IT Asset Manageme...
Benchmarking ITAM: Understand and grow your organization's IT Asset Manageme...
 
ITAM 2015-2020: How new technology will shape the role of the IT Asset Manager
ITAM 2015-2020: How new technology will shape the role of the IT Asset ManagerITAM 2015-2020: How new technology will shape the role of the IT Asset Manager
ITAM 2015-2020: How new technology will shape the role of the IT Asset Manager
 

Similar to Owasp first5 presentation

2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10bilcorry
 
Truetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web VulnerabilityTruetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web VulnerabilityTrueTesters
 
Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01Richard Sullivan
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top TenSecurity Innovation
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Codingbilcorry
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017SamsonMuoki
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applicationsNiyas Nazar
 
Owasp top 10_openwest_2019
Owasp top 10_openwest_2019Owasp top 10_openwest_2019
Owasp top 10_openwest_2019Sean Jackson
 
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20Tabăra de Testare
 
OWASP TOP 10 by Team xbios
OWASP TOP 10  by Team xbiosOWASP TOP 10  by Team xbios
OWASP TOP 10 by Team xbiosVi Vek
 
Web application sec_3
Web application sec_3Web application sec_3
Web application sec_3vhimsikal
 
Top web apps security vulnerabilities
Top web apps security vulnerabilitiesTop web apps security vulnerabilities
Top web apps security vulnerabilitiesAleksandar Bozinovski
 
Security Vulnerabilities
Security VulnerabilitiesSecurity Vulnerabilities
Security VulnerabilitiesMarius Vorster
 
OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017
OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017
OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017Philippe Gamache
 

Similar to Owasp first5 presentation (20)

2013 OWASP Top 10
2013 OWASP Top 102013 OWASP Top 10
2013 OWASP Top 10
 
Truetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web VulnerabilityTruetesters presents OWASP Top 10 Web Vulnerability
Truetesters presents OWASP Top 10 Web Vulnerability
 
Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01Soteria Cybersecurity Healthcheck-FB01
Soteria Cybersecurity Healthcheck-FB01
 
How to Test for The OWASP Top Ten
 How to Test for The OWASP Top Ten How to Test for The OWASP Top Ten
How to Test for The OWASP Top Ten
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
 
Owasp Top 10 2017
Owasp Top 10 2017Owasp Top 10 2017
Owasp Top 10 2017
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 
Owasp top 10_openwest_2019
Owasp top 10_openwest_2019Owasp top 10_openwest_2019
Owasp top 10_openwest_2019
 
Owasp & Asp.Net
Owasp & Asp.NetOwasp & Asp.Net
Owasp & Asp.Net
 
a
aa
a
 
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
The OWASP Top 10 Most Critical Web App Security Risks - TdT@Cluj #20
 
OWASP TOP 10 by Team xbios
OWASP TOP 10  by Team xbiosOWASP TOP 10  by Team xbios
OWASP TOP 10 by Team xbios
 
Secure Software Engineering
Secure Software EngineeringSecure Software Engineering
Secure Software Engineering
 
Web application sec_3
Web application sec_3Web application sec_3
Web application sec_3
 
Spa Secure Coding Guide
Spa Secure Coding GuideSpa Secure Coding Guide
Spa Secure Coding Guide
 
ASP.NET security vulnerabilities
ASP.NET security vulnerabilitiesASP.NET security vulnerabilities
ASP.NET security vulnerabilities
 
Top web apps security vulnerabilities
Top web apps security vulnerabilitiesTop web apps security vulnerabilities
Top web apps security vulnerabilities
 
Security Vulnerabilities
Security VulnerabilitiesSecurity Vulnerabilities
Security Vulnerabilities
 
Owasp Top 10-2013
Owasp Top 10-2013Owasp Top 10-2013
Owasp Top 10-2013
 
OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017
OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017
OWASP Top 10 Proactive Controls 2016 - PHP Québec August 2017
 

Recently uploaded

Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Krijn Poppe
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxJohnree4
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Salam Al-Karadaghi
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@vikas rana
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...NETWAYS
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfhenrik385807
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...NETWAYS
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...NETWAYS
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptssuser319dad
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxnoorehahmad
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxmavinoikein
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxFamilyWorshipCenterD
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...NETWAYS
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationNathan Young
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxCarrieButtitta
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...marjmae69
 
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)Basil Achie
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxaryanv1753
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power
 

Recently uploaded (20)

Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
Presentation for the Strategic Dialogue on the Future of Agriculture, Brussel...
 
Genshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptxGenshin Impact PPT Template by EaTemp.pptx
Genshin Impact PPT Template by EaTemp.pptx
 
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
Exploring protein-protein interactions by Weak Affinity Chromatography (WAC) ...
 
call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@call girls in delhi malviya nagar @9811711561@
call girls in delhi malviya nagar @9811711561@
 
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
OSCamp Kubernetes 2024 | SRE Challenges in Monolith to Microservices Shift at...
 
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdfOpen Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
Open Source Strategy in Logistics 2015_Henrik Hankedvz-d-nl-log-conference.pdf
 
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
Open Source Camp Kubernetes 2024 | Running WebAssembly on Kubernetes by Alex ...
 
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
Open Source Camp Kubernetes 2024 | Monitoring Kubernetes With Icinga by Eric ...
 
Philippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.pptPhilippine History cavite Mutiny Report.ppt
Philippine History cavite Mutiny Report.ppt
 
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Rohini Delhi 💯Call Us 🔝8264348440🔝
 
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptxAnne Frank A Beacon of Hope amidst darkness ppt.pptx
Anne Frank A Beacon of Hope amidst darkness ppt.pptx
 
Work Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptxWork Remotely with Confluence ACE 2.pptx
Work Remotely with Confluence ACE 2.pptx
 
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptxGenesis part 2 Isaiah Scudder 04-24-2024.pptx
Genesis part 2 Isaiah Scudder 04-24-2024.pptx
 
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
OSCamp Kubernetes 2024 | Zero-Touch OS-Infrastruktur für Container und Kubern...
 
The Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism PresentationThe Ten Facts About People With Autism Presentation
The Ten Facts About People With Autism Presentation
 
miladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptxmiladyskindiseases-200705210221 2.!!pptx
miladyskindiseases-200705210221 2.!!pptx
 
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
Gaps, Issues and Challenges in the Implementation of Mother Tongue Based-Mult...
 
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
NATIONAL ANTHEMS OF AFRICA (National Anthems of Africa)
 
Event 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptxEvent 4 Introduction to Open Source.pptx
Event 4 Introduction to Open Source.pptx
 
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular PlasticsDutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
Dutch Power - 26 maart 2024 - Henk Kras - Circular Plastics
 

Owasp first5 presentation

  • 1. Manish Dusad (dusad@avaya.com) Sumita Uday (suday@avaya.com) All you wanted to know about OWASP WEB TOP 10 ! Covering the first FIVE vulnerabilities
  • 2. OWASP Web Top 5 • Injection • Broken Authentication/Session Management • Cross-Site scripting – XSS • Insecure Direct Object Reference • Security Misconfiguration
  • 3. Injection OWASP Definition: Injection flaws, particularly SQL injection, are common in web applications. Injection occurs when user-supplied data is sent to an interpreter as part of a command or query. The attacker’s hostile data tricks the interpreter into executing unintended commands or changing data.
  • 5. Injection What happens when the Login button is clicked? User name & Password is sent to the server Server does a lookup of the username/password against some database Server checks if the Password matches against the result of the query Query Can be SQL like statements (mostly are) Or, could be against an external system LDAP SSO
  • 6. Firewall Hardened OS Web Server App Server Firewall Databases LegacySystems WebServices Directories HumanResrcs Billing Custom Code APPLICATION ATTACK NetworkLayerApplicationLayer Accounts Finance Administration Transactions Communication KnowledgeMgmt E-Commerce Bus.Functions HTTP request  SQL query  DB Table   HTTP response   "SELECT * FROM accounts WHERE acct=‘’ OR 1=1-- ’" 1. Application presents a form to the attacker 2. Attacker sends an attack in the form data 3. Application forwards attack to the database in a SQL query Account Summary Acct:5424-6066-2134-4334 Acct:4128-7574-3921-0192 Acct:5424-9383-2039-4029 Acct:4128-0004-1234-0293 4. Database runs query containing attack and sends encrypted results back to application 5. Application decrypts data as normal and sends results to the user Account: SKU: Account: SKU:
  • 7. SQL Injection • Untrusted Data is sent to an interpreter as part of a command or query. • Other Database specific constructs can also be passed to determine the DBMS used. • Very prevalent, especially in Legacy Code. • Easier to detect using Code Inspection, than testing. • Can result in Data Stealing/Loss/Corruption
  • 8. Recommendations • Use an interface that supports ‘bind variables’ – they allow the interpreter to distinguish between ‘code’ and ‘data’ – Prepared Statements String query = "SELECT * FROM accounts WHERE account = ?"; PreparedStatement pstmt = connection.prepareStatement(query , … ); pstmt.setString( 1, request.getParameter("acct")); ResultSet results = pstmt.executeQuery( ); – Stored Procedures
  • 9. Recommendations • Encode user input before passing to the interpreter • Perform white list/black list input validation on all user supplied input – create, alter, drop, rename, select, insert, update, delete, grant, revoke, @@version, exec, union, waitfor, order by, case when, utl_, winhttp • Minimize Database privileges to reduce impact of a flaw • Use a vetted library or framework
  • 10. Broken Authentication/Session Management OWASP Definition: Account credentials and session tokens are often not properly protected. Attackers compromise passwords, keys, or authentication tokens to assume other users’ identities.
  • 11. Custom Code Accounts Finance Administration Transactions Communication KnowledgeMgmt E-Commerce Bus.Functions 1 User sends credentials 2Site uses URL rewriting (i.e., put session in URL) 3 User clicks on a link to http://www.hacker.com in a forum www.boi.com?JSESSIONID=9FA1DB9EA... 4 Hacker checks referrer logs on www.hacker.com and finds user’s JSESSIONID 5 Hacker uses JSESSIONID and takes over victim’s account
  • 12. • HTTP is a stateless protocol – Credentials are have to go with every request – Should use SSL for everything requiring authentication • Session Management Flaws – Session ID is used to track state, as HTTP doesn’t – just as good as credentials to an attacker – Session ID is typically exposed on the network, in browser logs, etc. • Typical Impact – User account compromised – User session Hijacked
  • 13. Recommendations • Authentication should be simple, centralized and standardized • Use the standard session ID provided by the container – Change the name to avoid ‘obviousness’ • Make sure that SSL protects both, credentials as well as session ID • Verify that logoff actually destroys the session Session session = request.getSession(); session.invalidate();  Implement Session Time-outs  Change Session ID after successful login  Set cookies as HTTP-Only and secure (on SSL) AIC_SESSIONID=728CA9E50D86BA91384191F3793B064C; Path=/website; HttpOnly
  • 14. • Predictable Login Credential • Credentials are not protected when stored using hashing or encryption • Password Strength • Password Expiry Broken Account and Session Management
  • 15. Broken Account and Session Management: Protection  Password Storage - never store passwords in plain text. Passwords should always be stored in either hashed (preferred) or encrypted form.  Protecting Credentials in Transit - to prevent "man-in-the-middle" attacks the entire authenticated session / transaction should be encrypted SSLv3 or TLSv1  Man-in-the-middle attacks - are still possible with SSL if users disable or ignore warnings about invalid SSL certificates.  Replay attacks - Transformations such as hashing on the client side provide little protection as the hashed version can simply be intercepted and retransmitted so that the actual plain text password is not needed. 15
  • 17. Cross-Site Scripting (XSS) • OWASP definition
  • 18. Types of XSS • Server XSS – Server XSS occurs when untrusted user supplied data is included in an HTML response generated by the server. – The source of this data could be from the request, or from a stored location. – The entire vulnerability is in server- side code, and the browser is simply rendering the response and executing any valid script embedded in it. • Client XSS – Client XSS occurs when untrusted user supplied data is used to update the DOM with an unsafe JavaScript call. – The ultimate source of the data could have been from a request, or from a stored location on the client or the server. • Stored XSS Attacks – Stored attacks are those where the injected script is permanently stored on the target servers, such as in a database, in a message forum, visitor log, comment field, etc. • Reflected XSS Attacks – Reflected attacks are those where the injected script is reflected off the web server, such as in an error message, search result, or any other response that includes some or all of the input sent to the server as part of the request
  • 20. Recommendations • All input must be validated against a positive or “whitelist” of acceptable value ranges. • You MUST use the escape syntax for the part of the HTML document you're putting untrusted data into. • consider auto-sanitization libraries like OWASP’s AntiSamy • Consider Content Security Policy (CSP) to defend against XSS across your entire site.
  • 21. Insecure Direct Object Reference • OWASP definition
  • 22. Insecure direct object references After clicking the button, the customer details are returned and written to the page Hitting the button exposes the following information in Firebug: If we jump over to the response tab, we start to see some really interesting info: {"d":{"__type":"Customer:#Web","Address":"3 NIBM Road","CustomerID":3,"Email":“suday@avaya.com","FirstName":“Sumita","Pos tcode":“411048","State":“MH",“City":“Pune"}} Re-issue the same request but with a different customer ID
  • 23. What made this possible? • The fact that the customer’s ID was an integer; auto-incrementing it is both logical and straight forward. • Obviously the problem here was unauthorized access and the solution is to add some controls around who can access the service – Establish an identity, validate access rights then run the service otherwise bail them out. – validating the user’s right access the customer data before anything is returned by the service
  • 24. Recommendations • Using an indirect reference map – An indirect reference map is simply a substitution of the internal reference with an alternate ID which can be safely exposed externally. • Check Access – Each use of a direct object reference from an untrusted source must include an access control check to ensure the user is authorized for the requested object.
  • 26. Recommendations Positive step forward for this vulnerability : – Develop a repeatable process to reduce the surface of vulnerability – Disable default accounts and change passwords – Keep your frameworks up to date – Develop a strong application architecture that effectively isolates components and encrypts data which is especially important with sensitive data. – Disable any unnecessary files or features – Ensure security settings in development frameworks and libraries are set to secure values – Run tools (i.e. automated scanners) and perform regular audits to identify holes in the security configuration – Customize your error messages – Get those traces under control – Disable debugging – Encrypt sensitive configuration data – Apply the principle of least privilege to your database/others user accounts