Difference between revisions of "Appendix A: Testing Tools"

From OWASP
Jump to: navigation, search
(Open Source / Freeware)
(improving formatting & heading breaks, removed extraneous <br> tags)
Line 3: Line 3:
 
==Open Source Black Box Testing tools==
 
==Open Source Black Box Testing tools==
  
* '''[[OWASP_WebScarab_Project|OWASP WebScarab]]'''<br>
+
=== General Testing ===
  
* '''[[OWASP_CAL9000_Project|OWASP CAL9000]]''' <br>
+
* '''[[OWASP_WebScarab_Project|OWASP WebScarab]]'''
** CAL9000 is a collection of browser-based tools that enable more effective and efficient manual testing efforts. Includes an XSS Attack Library, Character Encoder/Decoder, HTTP Request Generator and Response Evaluator, Testing Checklist, Automated Attack Editor and much more.  
+
* '''[[OWASP_CAL9000_Project|OWASP CAL9000]]'''
*  [[:Category:OWASP Pantera Web Assessment Studio Project|OWASP Pantera Web Assessment Studio Project]]
+
** CAL9000 is a collection of browser-based tools that enable more effective and efficient manual testing efforts.
 +
** Includes an XSS Attack Library, Character Encoder/Decoder, HTTP Request Generator and Response Evaluator, Testing Checklist, Automated Attack Editor and much more.
 +
'''[[:Category:OWASP Pantera Web Assessment Studio Project|OWASP Pantera Web Assessment Studio Project]]'''
 
* SPIKE - http://www.immunitysec.com
 
* SPIKE - http://www.immunitysec.com
 
* Paros - http://www.parosproxy.org
 
* Paros - http://www.parosproxy.org
Line 13: Line 15:
 
* Achilles Proxy - http://www.mavensecurity.com/achilles
 
* Achilles Proxy - http://www.mavensecurity.com/achilles
 
* Odysseus Proxy - http://www.wastelands.gen.nz/odysseus/
 
* Odysseus Proxy - http://www.wastelands.gen.nz/odysseus/
* Webstretch Proxy - http://sourceforge.net/projects/webstretch<br>
+
* Webstretch Proxy - http://sourceforge.net/projects/webstretch
* Firefox LiveHTTPHeaders, Tamper Data and Developer Tools- http://www.mozdev.org
+
* Firefox LiveHTTPHeaders, Tamper Data and Developer Tools - http://www.mozdev.org
 
* Sensepost Wikto (Google cached fault-finding) - http://www.sensepost.com/research/wikto/index2.html
 
* Sensepost Wikto (Google cached fault-finding) - http://www.sensepost.com/research/wikto/index2.html
 
* Grendel-Scan - http://www.grendel-scan.com
 
* Grendel-Scan - http://www.grendel-scan.com
Line 20: Line 22:
 
=== Testing for specific vulnerabilities ===
 
=== Testing for specific vulnerabilities ===
  
'''Testing AJAX '''<br>
+
==== Testing AJAX ====
* [[:Category:OWASP Sprajax Project|OWASP Sprajax Project]]
+
* '''[[:Category:OWASP Sprajax Project|OWASP Sprajax Project]]'''
'''Testing for SQL Injection '''<br>
+
==== Testing for SQL Injection ====
* [[:Category:OWASP_SQLiX_Project|OWASP SQLiX]]  
+
* '''[[:Category:OWASP_SQLiX_Project|OWASP SQLiX]]'''
 
* Multiple DBMS Sql Injection tool - [[SQL Power Injector]]
 
* Multiple DBMS Sql Injection tool - [[SQL Power Injector]]
 
* MySql Blind Injection Bruteforcing, Reversing.org - [sqlbftools]
 
* MySql Blind Injection Bruteforcing, Reversing.org - [sqlbftools]
 
* Antonio Parata: Dump Files by sql inference on Mysql - [SqlDumper]
 
* Antonio Parata: Dump Files by sql inference on Mysql - [SqlDumper]
* Sqlninja: a SQL Server Injection&Takeover Tool - http://sqlninja.sourceforge.net  
+
* Sqlninja: a SQL Server Injection & Takeover Tool - http://sqlninja.sourceforge.net
* Bernardo Damele and Daniele Bellucci: sqlmap, a blind SQL injection tool - http://sqlmap.sourceforge.net/
+
* Bernardo Damele and Daniele Bellucci: sqlmap, a blind SQL injection tool - http://sqlmap.sourceforge.net
* Absinthe 1.1 (formerly SQLSqueal) - http://www.0x90.org/releases/absinthe/<br>
+
* Absinthe 1.1 (formerly SQLSqueal) - http://www.0x90.org/releases/absinthe/
 
* SQLInjector - http://www.databasesecurity.com/sql-injector.htm
 
* SQLInjector - http://www.databasesecurity.com/sql-injector.htm
* bsqlbf-1.2-th - http://www.514.es <br>
+
* bsqlbf-1.2-th - http://www.514.es
'''Testing Oracle'''
+
==== Testing Oracle ====
 
* TNS Listener tool (Perl) - http://www.jammed.com/%7Ejwa/hacks/security/tnscmd/tnscmd-doc.html
 
* TNS Listener tool (Perl) - http://www.jammed.com/%7Ejwa/hacks/security/tnscmd/tnscmd-doc.html
 
* Toad for Oracle - http://www.quest.com/toad  
 
* Toad for Oracle - http://www.quest.com/toad  
'''Testing SSL '''<br>
+
==== Testing SSL ====
 
* Foundstone SSL Digger - http://www.foundstone.com/resources/proddesc/ssldigger.htm
 
* Foundstone SSL Digger - http://www.foundstone.com/resources/proddesc/ssldigger.htm
'''Testing for Brute Force Password'''
+
==== Testing for Brute Force Password ====
 
* THC Hydra - http://www.thc.org/thc-hydra/
 
* THC Hydra - http://www.thc.org/thc-hydra/
 
* John the Ripper - http://www.openwall.com/john/
 
* John the Ripper - http://www.openwall.com/john/
 
* Brutus - http://www.hoobie.net/brutus/  
 
* Brutus - http://www.hoobie.net/brutus/  
 
* Medusa - http://www.foofus.net/~jmk/medusa/medusa.html
 
* Medusa - http://www.foofus.net/~jmk/medusa/medusa.html
'''Testing for HTTP Methods'''
+
==== Testing for HTTP Methods ====
 
* NetCat - http://www.vulnwatch.org/netcat
 
* NetCat - http://www.vulnwatch.org/netcat
'''Testing Buffer Overflow'''
+
==== Testing Buffer Overflow ====
*  OllyDbg: "A windows based debugger used for analyzing buffer overflow vulnerabilities" - http://www.ollydbg.de
+
*  OllyDbg - http://www.ollydbg.de
* Spike, A fuzzer framework that can be used to explore vulnerabilities and perform length testing - http://www.immunitysec.com/downloads/SPIKE2.9.tgz
+
** "A windows based debugger used for analyzing buffer overflow vulnerabilities"
* Brute Force Binary Tester (BFB), A proactive binary checker - http://bfbtester.sourceforge.net/
+
* Spike - http://www.immunitysec.com/downloads/SPIKE2.9.tgz
* Metasploit, A rapid exploit development and Testing frame work - http://www.metasploit.com/projects/Framework/  
+
** A fuzzer framework that can be used to explore vulnerabilities and perform length testing
'''Fuzzer'''<br>
+
* Brute Force Binary Tester (BFB) - http://bfbtester.sourceforge.net
* [[OWASP_WSFuzzer_Project|OWASP WSFuzzer]]
+
** A proactive binary checker
'''Googling'''<br>
+
* Metasploit - http://www.metasploit.com/projects/Framework/
 +
** A rapid exploit development and Testing frame work
 +
==== Fuzzer ====
 +
* '''[[OWASP_WSFuzzer_Project|OWASP WSFuzzer]]'''
 +
==== Googling ====
 
* Foundstone Sitedigger (Google cached fault-finding) - http://www.foundstone.com/resources/proddesc/sitedigger.htm
 
* Foundstone Sitedigger (Google cached fault-finding) - http://www.foundstone.com/resources/proddesc/sitedigger.htm
  
Line 59: Line 65:
 
* NGSSQuirreL - http://www.ngssoftware.com/products/database-security/
 
* NGSSQuirreL - http://www.ngssoftware.com/products/database-security/
 
* Watchfire AppScan - http://www.watchfire.com
 
* Watchfire AppScan - http://www.watchfire.com
* Cenzic Hailstorm - http://www.cenzic.com/products_services/cenzic_hailstorm.php<br>
+
* Cenzic Hailstorm - http://www.cenzic.com/products_services/cenzic_hailstorm.php
 
* SPI Dynamics WebInspect - http://www.spidynamics.com
 
* SPI Dynamics WebInspect - http://www.spidynamics.com
* Burp Intruder - http://portswigger.net/intruder<br>
+
* Burp Intruder - http://portswigger.net/intruder
* Acunetix Web Vulnerability Scanner - http://www.acunetix.com/<br>
+
* Acunetix Web Vulnerability Scanner - http://www.acunetix.com
 
* ScanDo - http://www.kavado.com
 
* ScanDo - http://www.kavado.com
 
* WebSleuth - http://www.sandsprite.com
 
* WebSleuth - http://www.sandsprite.com
* NT Objectives NTOSpider - http://www.ntobjectives.com/products/ntospider.php<br>
+
* NT Objectives NTOSpider - http://www.ntobjectives.com/products/ntospider.php
* Fortify Pen Testing Team Tool - http://www.fortifysoftware.com/products/tester<br>
+
* Fortify Pen Testing Team Tool - http://www.fortifysoftware.com/products/tester
* Sandsprite Web Sleuth - http://sandsprite.com/Sleuth/<br>
+
* Sandsprite Web Sleuth - http://sandsprite.com/Sleuth/
* MaxPatrol Security Scanner - http://www.maxpatrol.com/<br>
+
* MaxPatrol Security Scanner - http://www.maxpatrol.com
* Ecyware GreenBlue Inspector - http://www.ecyware.com/<br>
+
* Ecyware GreenBlue Inspector - http://www.ecyware.com
* Parasoft WebKing (more QA-type tool)<br>
+
* Parasoft WebKing (more QA-type tool)
* MatriXay - http://www.dbappsecurity.com/<br>
+
* MatriXay - http://www.dbappsecurity.com
* N-Stalker Web Application Security Scanner - http://www.nstalker.com/<br>
+
* N-Stalker Web Application Security Scanner - http://www.nstalker.com
  
 
==Source Code Analyzers==
 
==Source Code Analyzers==
Line 85: Line 91:
 
* Boon - http://www.cs.berkeley.edu/~daw/boon
 
* Boon - http://www.cs.berkeley.edu/~daw/boon
 
* Pscan - http://www.striker.ottawa.on.ca/~aland/pscan
 
* Pscan - http://www.striker.ottawa.on.ca/~aland/pscan
* FindBugs - http://findbugs.sourceforge.net/
+
* FindBugs - http://findbugs.sourceforge.net
  
 
===Commercial ===
 
===Commercial ===
Line 97: Line 103:
 
* CodeWizard - http://www.parasoft.com/products/wizard
 
* CodeWizard - http://www.parasoft.com/products/wizard
 
* Armorize CodeSecure - http://www.armorize.com/product/
 
* Armorize CodeSecure - http://www.armorize.com/product/
* Checkmarx CxSuite  - http://www.checkmarx.com/
+
* Checkmarx CxSuite  - http://www.checkmarx.com
  
 
==Acceptance Testing Tools==
 
==Acceptance Testing Tools==
Line 104: Line 110:
 
===Open Source Tools===
 
===Open Source Tools===
  
* WATIR - http://wtr.rubyforge.org/ - A Ruby based web testing framework that provides an interface into Internet Explorer. Windows only.
+
* WATIR - http://wtr.rubyforge.org
* HtmlUnit - http://htmlunit.sourceforge.net/ - A Java and JUnit based framework that uses the Apache HttpClient as the transport. Very robust and configurable and is used as the engine for a number of other testing tools.
+
** A Ruby based web testing framework that provides an interface into Internet Explorer.
* jWebUnit - http://jwebunit.sourceforge.net/ - A Java based meta-framework that uses htmlunit or selenium as the testing engine.
+
** Windows only.
* Canoo Webtest - http://webtest.canoo.com/ - An XML based testing tool that provides a facade on top of htmlunit. No coding is necessary as the tests are completely specified in XML. There is the option of scripting some elements in Groovy if XML does not suffice. Very actively maintained.
+
* HtmlUnit - http://htmlunit.sourceforge.net  
* HttpUnit - http://httpunit.sourceforge.net/ - One of the first web testing frameworks, suffers from using the native JDK provided HTTP transport, which can be a bit limiting for security testing.
+
** A Java and JUnit based framework that uses the Apache HttpClient as the transport.
* Watij - http://watij.com - A Java implementation of WATIR. Windows only because it uses IE for it's tests (Mozilla integration is in the works).
+
** Very robust and configurable and is used as the engine for a number of other testing tools.
* Solex - http://solex.sourceforge.net/ - An Eclipse plugin that provides a graphical tool to record HTTP sessions and make assertions based on the results.
+
* jWebUnit - http://jwebunit.sourceforge.net
* Selenium - http://www.openqa.org/selenium/ - JavaScript based testing framework, cross-platform and provides a GUI for creating tests. Mature and popular tool, but the use of JavaScript could hamper certain security tests.
+
** A Java based meta-framework that uses htmlunit or selenium as the testing engine.
 +
* Canoo Webtest - http://webtest.canoo.com
 +
** An XML based testing tool that provides a facade on top of htmlunit.
 +
** No coding is necessary as the tests are completely specified in XML.
 +
** There is the option of scripting some elements in Groovy if XML does not suffice.
 +
** Very actively maintained.
 +
* HttpUnit - http://httpunit.sourceforge.net
 +
** One of the first web testing frameworks, suffers from using the native JDK provided HTTP transport, which can be a bit limiting for security testing.
 +
* Watij - http://watij.com
 +
** A Java implementation of WATIR.
 +
** Windows only because it uses IE for its tests (Mozilla integration is in the works).
 +
* Solex - http://solex.sourceforge.net
 +
** An Eclipse plugin that provides a graphical tool to record HTTP sessions and make assertions based on the results.
 +
* Selenium - http://www.openqa.org/selenium/
 +
** JavaScript based testing framework, cross-platform and provides a GUI for creating tests.
 +
** Mature and popular tool, but the use of JavaScript could hamper certain security tests.
  
 
==Other Tools==
 
==Other Tools==
Line 129: Line 150:
 
* Rational Requisite Pro - http://www-306.ibm.com/software/awdtools/reqpro
 
* Rational Requisite Pro - http://www-306.ibm.com/software/awdtools/reqpro
  
'''Site Mirroring'''
+
===Site Mirroring===
 
* wget - http://www.gnu.org/software/wget, http://www.interlog.com/~tcharron/wgetwin.html
 
* wget - http://www.gnu.org/software/wget, http://www.interlog.com/~tcharron/wgetwin.html
 
* curl - http://curl.haxx.se  
 
* curl - http://curl.haxx.se  
 
* Sam Spade - http://www.samspade.org
 
* Sam Spade - http://www.samspade.org
 
* Xenu - http://home.snafu.de/tilman/xenulink.html
 
* Xenu - http://home.snafu.de/tilman/xenulink.html

Revision as of 15:42, 1 September 2008

OWASP Testing Guide v3 Table of Contents

This article is part of the OWASP Testing Guide v3. The entire OWASP Testing Guide v3 can be downloaded here.

OWASP at the moment is working at the OWASP Testing Guide v4: you can browse the Guide here

Contents


Open Source Black Box Testing tools

General Testing

Testing for specific vulnerabilities

Testing AJAX

Testing for SQL Injection

Testing Oracle

Testing SSL

Testing for Brute Force Password

Testing for HTTP Methods

Testing Buffer Overflow

Fuzzer

Googling

Commercial Black Box Testing tools

Source Code Analyzers

Open Source / Freeware

Commercial

Acceptance Testing Tools

Acceptance testing tools are used to validate the functionality of web applications. Some follow a scripted approach and typically make use of a Unit Testing framework to construct test suites and test cases. Most, if not all, can be adapted to perform security specific tests in addition to functional tests.

Open Source Tools

  • WATIR - http://wtr.rubyforge.org
    • A Ruby based web testing framework that provides an interface into Internet Explorer.
    • Windows only.
  • HtmlUnit - http://htmlunit.sourceforge.net
    • A Java and JUnit based framework that uses the Apache HttpClient as the transport.
    • Very robust and configurable and is used as the engine for a number of other testing tools.
  • jWebUnit - http://jwebunit.sourceforge.net
    • A Java based meta-framework that uses htmlunit or selenium as the testing engine.
  • Canoo Webtest - http://webtest.canoo.com
    • An XML based testing tool that provides a facade on top of htmlunit.
    • No coding is necessary as the tests are completely specified in XML.
    • There is the option of scripting some elements in Groovy if XML does not suffice.
    • Very actively maintained.
  • HttpUnit - http://httpunit.sourceforge.net
    • One of the first web testing frameworks, suffers from using the native JDK provided HTTP transport, which can be a bit limiting for security testing.
  • Watij - http://watij.com
    • A Java implementation of WATIR.
    • Windows only because it uses IE for its tests (Mozilla integration is in the works).
  • Solex - http://solex.sourceforge.net
    • An Eclipse plugin that provides a graphical tool to record HTTP sessions and make assertions based on the results.
  • Selenium - http://www.openqa.org/selenium/
    • JavaScript based testing framework, cross-platform and provides a GUI for creating tests.
    • Mature and popular tool, but the use of JavaScript could hamper certain security tests.

Other Tools

Runtime Analysis

Binary Analysis

Requirements Management

Site Mirroring