OWASP Testing Guide v3 Table of Contents

This is the draft of table of content of the New Testing Guide. You can download the stable version or read it on line here

Back to the OWASP Testing Guide: http://www.owasp.org/index.php/OWASP_Testing_Project

Testing Guide v3 (draft 26th May 2008)

The core index is the OTG v2. (new): new articles, (toimp): needs to improve or to review

(toimp: Mat)1. Frontispiece
(toimp: Mat)1.1 About the OWASP Testing Guide Project

1.2 About The Open Web Application Security Project

2. Introduction
2.1 The OWASP Testing Project

2.2 Principles of Testing

2.3 Testing Techniques Explained

(new: M.Morana) 2.4 Security requirements test derivation, functional and non functional test requirements, and test cases through use and misuse cases

(new: M.Morana) 2.4.1 Security tests integrated in developers and testers workflows

(new: M.Morana) 2.4.2 Developers' security tests: Unit Tests, component level tests, etc

(new: M.Morana) 2.4.3 Functional testers' security tests: integrated system tests, tests in UAT, and production environment

(new: M.Morana) 2.5 Security test data analysis and reporting: root cause identification and business/role case test data reporting

3. The OWASP Testing Framework
3.1. Overview

3.2. Phase 1: Before Development Begins 

3.3. Phase 2: During Definition and Design

3.4. Phase 3: During Development

3.5. Phase 4: During Deployment

3.6. Phase 5: Maintenance and Operations

3.7. A Typical SDLC Testing Workflow 

4. (toimp:Mat) Web Application Penetration Testing
4.1 Introduction and Objectives

(new: Mat) 4.1.1 Testing Checklist

(toimp: B.Damele) 4.2 Information Gathering

(new:C.Heinrich)4.2.1 Spiders, Robots and Crawlers

(new:C.Heinrich)4.2.2 Search Engine Discovery/Reconnaissance

(new: K.Horvath) 4.2.3 Identify application entry points

4.2.3 (toimp) Testing for Web Application Fingerprint

4.2.4 Application Discovery

(toimp)4.2.5 Analysis of Error Codes

 (new) 4.3 Configuration Management Testing

(toimp) 4.3.1 SSL/TLS Testing (SSL Version, Alghoritms, Key lenght, Digital Cert. Validity

4.3.2 DB Listener Testing

(toimp) 4.3.3 Application Configuration Management Testing

(new) 4.3.4 Testing for misconfiguration

4.3.5 Testing for File Extensions Handling

4.3.6 Old, backup and unreferenced files

(new) 4.3.7 Infrastructure and Application Admin Interfaces

4.3.8 Testing for HTTP Methods and XST

(toimp: K.Horvath)4.4 Business Logic Testing

(toimp)4.5 Authentication Testing

(new)4.5.1 Credentials transport over an encrypted channel

(new) 4.5.2 Testing for user enumeration

(to imp: K.Horvath) 4.5.3 Testing for Guessable (Dictionary) User Account

4.5.4 Brute Force Testing

4.5.5 Testing for bypassing authentication schema

4.5.6 Testing for directory traversal/file include

4.5.7 Testing for vulnerable remember password and pwd reset

4.5.8 Testing for Logout and Browser Cache Management Testing

(new: Mat) 4.6 Authorization testing

(new: G.Fedon) 4.6.1 Testing for Path Traversal

(new: Mat)4.6.2 Testing for bypassing authorization schema

(new: cecil su)4.6.3 Testing for Privilege Escalation

4.7 Session Management Testing

4.7.1 Testing for Session Management Schema

(new)4.7.2 Test the token strength (old 4.5.2 Testing for Cookie and Session Token Manipulation)

(new: K.Horvath) 4.7.3 Testing for Cookies attributes

(new) 4.7.4. Testing for Session Fixation

4.7.5 Testing for Exposed Session Variables

4.7.6 Testing for CSRF

4.7.7 Testing for HTTP Exploit

4.8 Data Validation Testing

(new: A. Coronel)4.8.1 Testing for Reflected Cross Site Scripting

(new)4.8.2 Testing for Stored Cross Site Scripting

(new) 4.8.3 Testing for DOM based Cross Site Scripting

(new)4.8.4 Testing for Cross Site Flashing

(toimp: B.Damele) 4.8.5 Testing for SQL Injection

4.8.5.1 Oracle Testing

4.8.5.2 MySQL Testing

4.8.5.3 SQL Server Testing

4.8.5.4 (new: D.Bellucci from OWASP BSP) Testing PostgreSQL

4.8.6 Testing for LDAP Injection

4.8.7 Testing for ORM Injection

4.8.8 Testing for XML Injection

4.8.9 Testing for SSI Injection

4.8.10 Testing for XPath Injection

4.8.11 IMAP/SMTP Injection

4.8.12 Testing for Code Injection

4.8.13 Testing for Command Injection

4.8.14 Testing for Buffer overflow

4.8.14.1 Testing for Heap overflow

4.8.14.2 Testing for Stack overflow

4.8.14.3 Testing for Format string

4.8.15 Testing for incubated vulnerabilities

4.9 Testing for Denial of Service

(new: F.Mavituna) 4.9.1 Testing for SQL Wildcard Attacks

4.9.2 Testing for DoS Locking Customer Accounts

4.9.3 Testing for DoS Buffer Overflows

4.9.4 Testing for DoS User Specified Object Allocation

4.9.5 Testing for User Input as a Loop Counter

4.9.6 Testing for Writing User Provided Data to Disk

4.9.7 Testing for DoS Failure to Release Resources

4.9.8 Testing for Storing too Much Data in Session

(toimp: D.Wichers) 4.10 Web Services Testing

4.10.1 XML Structural Testing

4.10.2 XML Content-level Testing

4.10.3 HTTP GET parameters/REST Testing

4.10.4 Testing for Naughty SOAP attachments

4.10.5 WS Replay Testing

(new: Pdp, O.Segal, S. Di Paola ?)4.11 Client side testing

(new) 4.11.1 AJAX Testing

(new)4.11.2 Flash Testing

(new)4.11.3 RIA Testing

(toimp: Mat)5. Writing Reports: value the real risk
5.1 How to value the real risk

5.2 How to write the report of the testing

Appendix A: Testing Tools

 * Black Box Testing Tools
 * Source Code Analyzers
 * Other Tools

Appendix B: Suggested Reading

 * Whitepapers
 * Books
 * Useful Websites

Appendix C: Fuzz Vectors

 * Fuzz Categories
 * Recursive fuzzing
 * Replasive fuzzing
 * Cross Site Scripting (XSS)
 * Buffer Overflows and Format String Errors
 * Buffer Overflows (BFO)
 * Format String Errors (FSE)
 * Integer Overflows (INT)
 * SQL Injection
 * Passive SQL Injection (SQP)
 * Active SQL Injection (SQI)
 * LDAP Injection
 * XPATH Injection

(new: Harish S.)Appendix D: Encoded Injection
OTGv3 team Discussion

Also see http://www.owasp.org/index.php/OWASP_Testing_Guide_v3_Startup.

The new OWASP testing Guidev3: This analyze the OWASP Testing Guide v2 checklist and a plan for create the new v3.


 * 1) Methodical Testing (new category) <-- (Mat) needs explanation
 * 2) Authorization testing missing. (new category)
 * 3) Information gathering is not a vulnerability
 * 4) Business logic testing
 * 5) Infrastructural test  (new category) *this has to only concentrate on 80 and 443 and other web related testing
 * 6) Web Services section needs improvement
 * 7) AJAX Testing section needs improvement
 * 8) Testing Methodology section updates (requirements, plans, levels and environments)
 * 9) New category: Client side Testing
 * 10) New category: Thick Client Testing
 * 11) New category: Flash/Silverlight Applications
 * 12) New category: Assessing Financial Applications
 * 13) New category: Fuzzing (we have the vectors, but this should explain the whole concept)

Proposed new categories for the OTG v3:
 * OTG Form Templates
 * OTG Request for Quote (RFQ) (new)
 * OTG 3rd Party Assessment Authorization Form (new)
 * OTG Sample Report (new)
 * Passive Mode
 * Information Gathering
 * Business logic testing
 * Web Application Penetration Testing
 * Infrastructural testing
 * Authentication Testing
 * Authorization Testing (new)
 * Session Management Testing
 * Data Validation Testing
 * Denial of Service Testing
 * Web Services Testing
 * Client-Side Testing
 * AJAX Testing
 * Flash Testing (new)
 * RIA stuff (new)