SlideShare a Scribd company logo
Web app testing
without attack traffic

          Abraham Aranguren
                 @7a_
     abraham.aranguren@gmail.com
             http://7-a.org
Intro
  33% (22 out of 66) of the tests in the OWASP
   Testing guide can be legally* performed at least
   partially without permission



  * Except in Spain, where visiting a page can be
    illegal ☺
Legend
 Ethics/Scope legend:                             P
   P    No Permission needed: No attack traffic
   !   Mild attack traffic / Could break things
   !!   You better have written permission ..

 Vulnerable vs. Not Vulnerable legend:
  Vulnerable
  Not Vulnerable
Testing: Spiders, Robots, and Crawlers
(OWASP-IG-001)
                                             P
   $ wget http://www.google.com/robots.txt

   Found: Analyse entries
   Not found: Indexing required?
Testing: Search engine discovery /
reconnaissance (OWASP-IG-002)

   Google site:target.com filetype: inurl:
                                                P
   Metadata, DNS, Whois, Company info, staff,
   etc..
Testing: Identify application entry
points (OWASP-IG-003)
                                                   P
   Use a proxy and JUST browse the site
   Let the proxy log ALL requests
   Understand the site
   Chain ratproxy to your proxy for cool ideas ☺
Testing for Web Application
Fingerprint (OWASP-IG-004)
  Get the banner:                                     P
   $ curl –i –A “Mozilla ” http://target.com | more
Testing for SSL-TLS (OWASP-CM-
001)
 No traffic ..                   P
Testing for Admin Interfaces
(OWASP-CM-007)
   3rd party stuff on .NET ViewState, headers,..   P
   Telerik.Web.UI?? Google it!
Testing for Admin Interfaces
(OWASP-CM-007) - continued
   Google for default passwords   P
Testing for Admin Interfaces
(OWASP-CM-007) – continued
                               !!
Testing for Admin Interfaces
(OWASP-CM-007) - continued
                               !!
Testing for HTTP Methods and XST
(OWASP-CM-008)
   An OPTIONS request is quite normal:                         P
 curl -i -A 'Mozilla/5.0' -X 'OPTIONS *' -k https://site.com
 HTTP/1.1 200 OK
 Date: Tue, 09 Aug 2011 13:38:43 GMT
 Server: Apache/2.0.63 (Unix)
 Allow: GET,HEAD,POST,OPTIONS,TRACE
 Content-Length: 0
 Connection: close
 Content-Type: text/plain; charset=UTF-8
Testing for credentials transport
(OWASP-AT-001)
   Is the login page on “http” instead of “https”?   P
Testing for Default or Guessable User
Account (OWASP-AT-003)
  Analyse the username(s) they gave you to test:   P
    Username based on numbers?
  USER12345
    Username basic on public info? (i.e. names,
    surnames, ..)
  name.surname
Vulnerable Remember Password and
Pwd Reset (OWASP-AT-006)
 Is autocomplete set to off?                       P
 <form    autocomplete=“off”>
 or
 <input   autocomplete=“off”>

 Look at the questions or fields in the password
   reset form
Testing for Logout and Browser Cache
Management (OWASP-AT-007)
  Easy test: Login + Logout + Back button
                                                         P
  Or no caching headers / not expiring session cookie:

  HTTP/1.1 200 OK
  Date: Tue, 09 Aug 2011 13:38:43 GMT
  Server: .
  X-Powered-By: .
  Connection: close
  Content-Type: text/html; charset=UTF-8
Testing for Captcha (OWASP-AT-
008)
 Can be done offline:                             P
  Download image and try to break it
  Look for signs of weak third party components



   PWNtcha - captcha decoder
Testing for Session Management
Schema (OWASP-SM-001)
  Examine cookies for weaknesses offline   P
  Base64
   MTkyLjE2OC4xMDAuMTpvd2FzcHVzZXI6cGFz
   c3dvcmQ6MTU6NTg=

  Is
  owaspuser:192.168.100.1:
     a7656fafe94dae72b1e1487670148412
Testing for cookies attributes
(OWASP-SM-002)
   Secure: not set = no https                     P
   HttpOnly: not set = cookies stealable via JS
   Domain: set properly
   Path: set to the right /sub-application
   Expires: set reasonably
Testing for Session Fixation
(OWASP-SM-003)
  Session ID NOT changed after login = Vuln   P
  Before Login PHPSESSID:
  10a966616e8ed63f7a9b741f80e65e3c

  After Login PHPSESSID:
  10a966616e8ed63f7a9b741f80e65e3c
Testing for Exposed Session Variables
(OWASP-SM-004)
  Session ID:                       P
   In URL
   In POST
   In HTML
Testing for CSRF (OWASP-SM-005)
 Look at HTML code:                           P
 No anti-CSRF token = Vulnerable
 Anti-CSRF token = Wait to ACTIVE testing ☺
Testing for Bypassing Authorization
Schema (OWASP-AZ-002)
  Look at unauthenticated cross-site requests:   P
  http://other-site.com/user=3&report=4
  Referer: site.com

  Change ids in application: !
  http://site.com/view_doc=4
Testing for DOM-based Cross site
scripting (OWASP-DV-003)
  Review JavaScript code on the page:          P
  <script> document.write("Site is at: " +
    document.location.href + "."); </script>
Testing for Cross site flashing
(OWASP-DV-004)
  Download and decompile Flash files:   P
  $ flare hello.swf




  Static / Manual analysis
Testing: WS Information Gathering
(OWASP-WS-001)
    Google searches: inurl:wsdl site:example.com   P
    Web service analysis:
  http://www.example.com/ws/FindIP.asmx?WSDL
    Public services search:
  http://seekda.com/
  http://www.wsindex.org/
  http://www.soapclient.com/
Testing for WS Replay (OWASP-WS-
007)
 Similar to CSRF:                         P
   Is there an anti-replay token in the
   request/response?
Testing for file extensions handling
(OWASP-CM-005)
  _some_ attack traffic but subtle. File Uploads:    !!
    If upload.php or .asp, .html, .. is allowed by app
    A valid GIF or JPG comment can be a valid
    PHP script, etc ..




    Difference from attack to legit can be subtle
    File uploads are POST = 99% not logged
Testing for user enumeration
(OWASP-AT-002)
   Error messages              !
   Time differences
Testing for Reflected/Stored Cross site
scripting (OWASP-DV-001+2)
  Subtle look for signs of output encoding:   !
   O’Brien     O&apos;Brien
   O”Brien      O&quot;Brien or O%22Brien
   Ted..>     Ted..&gt; or Ted..%3E
   Ted,<     Ted,.&lt; or Ted..%3C

  Charset, etc..
Testing for SQL Injection (OWASP-
DV-005)
  Do you get a SQL error?                   !
   Strings: O’Brien
   IDs: Instead of “1” type “1l” or “1 l”
Thank you
                   Abraham Aranguren
                          @7a_
              abraham.aranguren@gmail.com
                      http://7-a.org
Special thanks to:
    OWASP Testing Guide contributors
    Mario Heiderich
    Chris John Riley
    Robin Wood

More Related Content

PDF
Silent web app testing by example - BerlinSides 2011
PDF
Legal and efficient web app testing without permission
PDF
Offensive (Web, etc) Testing Framework: My gift for the community - BerlinSid...
PDF
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
PDF
Introducing OWASP OWTF Workshop BruCon 2012
PDF
Pwning mobile apps without root or jailbreak
PPTX
Flash it baby!
PDF
Polyglot payloads in practice by avlidienbrunn at HackPra
Silent web app testing by example - BerlinSides 2011
Legal and efficient web app testing without permission
Offensive (Web, etc) Testing Framework: My gift for the community - BerlinSid...
OWASP OWTF - Summer Storm - OWASP AppSec EU 2013
Introducing OWASP OWTF Workshop BruCon 2012
Pwning mobile apps without root or jailbreak
Flash it baby!
Polyglot payloads in practice by avlidienbrunn at HackPra

What's hot (20)

PDF
Bug Bounty Hunter Methodology - Nullcon 2016
PPTX
Owasp web application security trends
PPTX
Try harder or go home
PDF
SecLists @ BlackHat Arsenal 2015
PDF
Development Security Framework based on Owasp Esapi for JSF2.0
PPTX
Java Web Security Class
PPT
PDF
HackFest 2015 - Rasp vs waf
PPT
Bsides-Philly-2016-Finding-A-Companys-BreakPoint
PPTX
Cross Site Scripting (XSS) Defense with Java
PDF
DEFCON 23 - Jason Haddix - how do i shot web
PDF
Neat tricks to bypass CSRF-protection
PPT
Top Ten Proactive Web Security Controls v5
PPTX
Django Web Application Security
PDF
[Poland] It's only about frontend
PDF
VSA: The Virtual Scripted Attacker, Brucon 2012
PDF
Romulus OWASP
PPTX
Hacking WebApps for fun and profit : how to approach a target?
PPTX
Client-side JavaScript Vulnerabilities
PDF
Practical django secuirty
Bug Bounty Hunter Methodology - Nullcon 2016
Owasp web application security trends
Try harder or go home
SecLists @ BlackHat Arsenal 2015
Development Security Framework based on Owasp Esapi for JSF2.0
Java Web Security Class
HackFest 2015 - Rasp vs waf
Bsides-Philly-2016-Finding-A-Companys-BreakPoint
Cross Site Scripting (XSS) Defense with Java
DEFCON 23 - Jason Haddix - how do i shot web
Neat tricks to bypass CSRF-protection
Top Ten Proactive Web Security Controls v5
Django Web Application Security
[Poland] It's only about frontend
VSA: The Virtual Scripted Attacker, Brucon 2012
Romulus OWASP
Hacking WebApps for fun and profit : how to approach a target?
Client-side JavaScript Vulnerabilities
Practical django secuirty
Ad

Similar to BruCon 2011 Lightning talk winner: Web app testing without attack traffic (20)

PDF
Abraham aranguren. legal and efficient web app testing without permission
PDF
The 3 Top Techniques for Web Security Testing Using a Proxy
PDF
Web Application Security: Introduction to common classes of security flaws an...
PDF
Tw noche geek quito webappsec
PPTX
DEF CON 23 - Hacking Web Apps @brentwdesign
PPTX
Security testautomation
PDF
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
PDF
TriplePlay-WebAppPenTestingTools
PPTX
Web application vulnerability assessment
ODP
Introduction to OWASP & Web Application Security
PPTX
Pentesting Tips: Beyond Automated Testing
PDF
Hacking Web Apps by Brent White
PPT
Identifying Web Servers: A First-look Into the Future of Web Server Fingerpri...
PPT
Beyond Automated Testing - RVAsec 2016
PDF
Common Web Application Attacks
PDF
Attacking Web Applications
PDF
How to Shot Web - Jason Haddix at DEFCON 23 - See it Live: Details in Descrip...
PPTX
Course_Presentation cyber --------------.pptx
KEY
DVWA BruCON Workshop
Abraham aranguren. legal and efficient web app testing without permission
The 3 Top Techniques for Web Security Testing Using a Proxy
Web Application Security: Introduction to common classes of security flaws an...
Tw noche geek quito webappsec
DEF CON 23 - Hacking Web Apps @brentwdesign
Security testautomation
festival ICT 2013: Solid as diamond: use ruby in an web application penetrati...
TriplePlay-WebAppPenTestingTools
Web application vulnerability assessment
Introduction to OWASP & Web Application Security
Pentesting Tips: Beyond Automated Testing
Hacking Web Apps by Brent White
Identifying Web Servers: A First-look Into the Future of Web Server Fingerpri...
Beyond Automated Testing - RVAsec 2016
Common Web Application Attacks
Attacking Web Applications
How to Shot Web - Jason Haddix at DEFCON 23 - See it Live: Details in Descrip...
Course_Presentation cyber --------------.pptx
DVWA BruCON Workshop
Ad

Recently uploaded (20)

PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
Spectroscopy.pptx food analysis technology
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
sap open course for s4hana steps from ECC to s4
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Digital-Transformation-Roadmap-for-Companies.pptx
MIND Revenue Release Quarter 2 2025 Press Release
NewMind AI Weekly Chronicles - August'25 Week I
Spectroscopy.pptx food analysis technology
MYSQL Presentation for SQL database connectivity
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Diabetes mellitus diagnosis method based random forest with bat algorithm
Empathic Computing: Creating Shared Understanding
Understanding_Digital_Forensics_Presentation.pptx
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Mobile App Security Testing_ A Comprehensive Guide.pdf
“AI and Expert System Decision Support & Business Intelligence Systems”
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Unlocking AI with Model Context Protocol (MCP)
sap open course for s4hana steps from ECC to s4
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025

BruCon 2011 Lightning talk winner: Web app testing without attack traffic

  • 1. Web app testing without attack traffic Abraham Aranguren @7a_ abraham.aranguren@gmail.com http://7-a.org
  • 2. Intro 33% (22 out of 66) of the tests in the OWASP Testing guide can be legally* performed at least partially without permission * Except in Spain, where visiting a page can be illegal ☺
  • 3. Legend Ethics/Scope legend: P P No Permission needed: No attack traffic ! Mild attack traffic / Could break things !! You better have written permission .. Vulnerable vs. Not Vulnerable legend: Vulnerable Not Vulnerable
  • 4. Testing: Spiders, Robots, and Crawlers (OWASP-IG-001) P $ wget http://www.google.com/robots.txt Found: Analyse entries Not found: Indexing required?
  • 5. Testing: Search engine discovery / reconnaissance (OWASP-IG-002) Google site:target.com filetype: inurl: P Metadata, DNS, Whois, Company info, staff, etc..
  • 6. Testing: Identify application entry points (OWASP-IG-003) P Use a proxy and JUST browse the site Let the proxy log ALL requests Understand the site Chain ratproxy to your proxy for cool ideas ☺
  • 7. Testing for Web Application Fingerprint (OWASP-IG-004) Get the banner: P $ curl –i –A “Mozilla ” http://target.com | more
  • 8. Testing for SSL-TLS (OWASP-CM- 001) No traffic .. P
  • 9. Testing for Admin Interfaces (OWASP-CM-007) 3rd party stuff on .NET ViewState, headers,.. P Telerik.Web.UI?? Google it!
  • 10. Testing for Admin Interfaces (OWASP-CM-007) - continued Google for default passwords P
  • 11. Testing for Admin Interfaces (OWASP-CM-007) – continued !!
  • 12. Testing for Admin Interfaces (OWASP-CM-007) - continued !!
  • 13. Testing for HTTP Methods and XST (OWASP-CM-008) An OPTIONS request is quite normal: P curl -i -A 'Mozilla/5.0' -X 'OPTIONS *' -k https://site.com HTTP/1.1 200 OK Date: Tue, 09 Aug 2011 13:38:43 GMT Server: Apache/2.0.63 (Unix) Allow: GET,HEAD,POST,OPTIONS,TRACE Content-Length: 0 Connection: close Content-Type: text/plain; charset=UTF-8
  • 14. Testing for credentials transport (OWASP-AT-001) Is the login page on “http” instead of “https”? P
  • 15. Testing for Default or Guessable User Account (OWASP-AT-003) Analyse the username(s) they gave you to test: P Username based on numbers? USER12345 Username basic on public info? (i.e. names, surnames, ..) name.surname
  • 16. Vulnerable Remember Password and Pwd Reset (OWASP-AT-006) Is autocomplete set to off? P <form autocomplete=“off”> or <input autocomplete=“off”> Look at the questions or fields in the password reset form
  • 17. Testing for Logout and Browser Cache Management (OWASP-AT-007) Easy test: Login + Logout + Back button P Or no caching headers / not expiring session cookie: HTTP/1.1 200 OK Date: Tue, 09 Aug 2011 13:38:43 GMT Server: . X-Powered-By: . Connection: close Content-Type: text/html; charset=UTF-8
  • 18. Testing for Captcha (OWASP-AT- 008) Can be done offline: P Download image and try to break it Look for signs of weak third party components PWNtcha - captcha decoder
  • 19. Testing for Session Management Schema (OWASP-SM-001) Examine cookies for weaknesses offline P Base64 MTkyLjE2OC4xMDAuMTpvd2FzcHVzZXI6cGFz c3dvcmQ6MTU6NTg= Is owaspuser:192.168.100.1: a7656fafe94dae72b1e1487670148412
  • 20. Testing for cookies attributes (OWASP-SM-002) Secure: not set = no https P HttpOnly: not set = cookies stealable via JS Domain: set properly Path: set to the right /sub-application Expires: set reasonably
  • 21. Testing for Session Fixation (OWASP-SM-003) Session ID NOT changed after login = Vuln P Before Login PHPSESSID: 10a966616e8ed63f7a9b741f80e65e3c After Login PHPSESSID: 10a966616e8ed63f7a9b741f80e65e3c
  • 22. Testing for Exposed Session Variables (OWASP-SM-004) Session ID: P In URL In POST In HTML
  • 23. Testing for CSRF (OWASP-SM-005) Look at HTML code: P No anti-CSRF token = Vulnerable Anti-CSRF token = Wait to ACTIVE testing ☺
  • 24. Testing for Bypassing Authorization Schema (OWASP-AZ-002) Look at unauthenticated cross-site requests: P http://other-site.com/user=3&report=4 Referer: site.com Change ids in application: ! http://site.com/view_doc=4
  • 25. Testing for DOM-based Cross site scripting (OWASP-DV-003) Review JavaScript code on the page: P <script> document.write("Site is at: " + document.location.href + "."); </script>
  • 26. Testing for Cross site flashing (OWASP-DV-004) Download and decompile Flash files: P $ flare hello.swf Static / Manual analysis
  • 27. Testing: WS Information Gathering (OWASP-WS-001) Google searches: inurl:wsdl site:example.com P Web service analysis: http://www.example.com/ws/FindIP.asmx?WSDL Public services search: http://seekda.com/ http://www.wsindex.org/ http://www.soapclient.com/
  • 28. Testing for WS Replay (OWASP-WS- 007) Similar to CSRF: P Is there an anti-replay token in the request/response?
  • 29. Testing for file extensions handling (OWASP-CM-005) _some_ attack traffic but subtle. File Uploads: !! If upload.php or .asp, .html, .. is allowed by app A valid GIF or JPG comment can be a valid PHP script, etc .. Difference from attack to legit can be subtle File uploads are POST = 99% not logged
  • 30. Testing for user enumeration (OWASP-AT-002) Error messages ! Time differences
  • 31. Testing for Reflected/Stored Cross site scripting (OWASP-DV-001+2) Subtle look for signs of output encoding: ! O’Brien O&apos;Brien O”Brien O&quot;Brien or O%22Brien Ted..> Ted..&gt; or Ted..%3E Ted,< Ted,.&lt; or Ted..%3C Charset, etc..
  • 32. Testing for SQL Injection (OWASP- DV-005) Do you get a SQL error? ! Strings: O’Brien IDs: Instead of “1” type “1l” or “1 l”
  • 33. Thank you Abraham Aranguren @7a_ abraham.aranguren@gmail.com http://7-a.org Special thanks to: OWASP Testing Guide contributors Mario Heiderich Chris John Riley Robin Wood