This site is the archived OWASP Foundation Wiki and is no longer accepting Account Requests.
To view the new OWASP Foundation website, please visit https://owasp.org

Difference between revisions of "OWASP Testing Guide v4 Table of Contents"

From OWASP
Jump to: navigation, search
(Added Abian Blome as a contributor)
Line 7: Line 7:
 
http://www.owasp.org/index.php/OWASP_Testing_Project
 
http://www.owasp.org/index.php/OWASP_Testing_Project
  
'''Updated: 31st August 2012'''
+
'''Updated: 5th October 2012'''
  
 
[[ OWTGv4 Contributors list|'''Contributors List]]
 
[[ OWTGv4 Contributors list|'''Contributors List]]
Line 13: Line 13:
 
----
 
----
  
The following are the main improvements we have to realize: <br>
 
  
(1) - Add new testing techniques and OWASP Top10 update: <br>
 
- Testing for HTTP Verb tampering<br>
 
- Testing for HTTP Parameter Pollutions<br>
 
- Testing for URL Redirection<br>
 
- Testing for Insecure Direct Object References<br>
 
- Testing for Insecure Cryptographic Storage<br>
 
- Testing for Failure to Restrict URL Access<br>
 
- Testing for Insufficient Transport Layer Protection<br>
 
- Testing for Unvalidated Redirects and Forwards.<br>
 
<br>
 
(2) - Review and improve all the sections in v3,<br>
 
<br>
 
(3) - Create a more readable guide, eliminating some sections that are not
 
really useful, Rationalize some sections as Session Management Testing.
 
 
(4) Pavol says: - add new opensource testing tools that appeared during last 3 years
 
(and are missing in the OWASP Testing Guide v3)
 
 
- add few useful and life-scenarios of possible
 
vulnerabilities in Bussiness Logic Testing (many testers have no idea what
 
vulnerabilities in Business Logic exactly mean)
 
 
- "Brute force testing" of "session ID" is missing in "Session Management
 
Testing", describe other tools for Session ID entropy analysis
 
(e.g. Stompy)
 
 
- in "Data Validation Testing" describe some basic obfuscation methods for
 
malicious code injection including the statements how it is possible to
 
detect it (web application obfuscation is quite succesfull in bypassing
 
many data validation controls)
 
 
- split the phase Logout and Browser Cache Management" into two sections
 
<br>
 
 
The following is a DRAFT of the Toc based on the feedback already received.
 
The following is a DRAFT of the Toc based on the feedback already received.
  
Line 103: Line 69:
 
[[Testing for configuration management|'''4.3 Configuration and Deploy Management Testing ''']]
 
[[Testing for configuration management|'''4.3 Configuration and Deploy Management Testing ''']]
  
Infrastructure Configuration management weakness<br>
+
Testing for Infrastructure Configuration management weakness<br>
 
Application Configuration management weakness<br>
 
Application Configuration management weakness<br>
 
File extensions handling<br>
 
File extensions handling<br>
Line 217: Line 183:
 
[[ XML Interpreter? (New!)]]
 
[[ XML Interpreter? (New!)]]
  
Weak XML Structure
+
Testing for Weak XML Structure
XML content-level
+
Testing for XML content-level
 
WS HTTP GET parameters/REST
 
WS HTTP GET parameters/REST
 
WS Naughty SOAP attachments
 
WS Naughty SOAP attachments
Line 225: Line 191:
 
[[ Client Side Testing (New!) ]]
 
[[ Client Side Testing (New!) ]]
  
DOM XSS<br>
+
Testing for DOM Based XSS<br>
HTML5 [Juan Galiana]<br/>
+
Testing for HTML5 [Juan Galiana]<br/>
Cross Site Flashing<br>
+
Testing for Cross Site Flashing<br>
ClickHijacking<br>
+
Testing for ClickHijacking<br>
  
 
==[[Writing Reports: value the real risk |5. Writing Reports: value the real risk ]]==
 
==[[Writing Reports: value the real risk |5. Writing Reports: value the real risk ]]==

Revision as of 16:18, 5 October 2012


This is DRAFT of the table of content of the New Testing Guide v4.

You can download the stable version here

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

Updated: 5th October 2012

Contributors List



The following is a DRAFT of the Toc based on the feedback already received.

Table of Contents

Foreword by OWASP Chair

[To review--> OWASP Chair]

1. Frontispiece

[To review--> Mat]

1.1 About the OWASP Testing Guide Project [To review--> Mat]

1.2 About The Open Web Application Security Project [To review--> ]


2. Introduction

2.1 The OWASP Testing Project

2.2 Principles of Testing

2.3 Testing Techniques Explained

2.4 Security requirements test derivation,functional and non functional test requirements, and test cases through use and misuse cases

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. Web Application Penetration Testing

4.1 Introduction and Objectives [To review--> Mat]

4.1.1 Testing Checklist [To review at the end of brainstorming --> Mat]

4.2 Information Gathering [To review--> contributor here]

4.3 Configuration and Deploy Management Testing

Testing for Infrastructure Configuration management weakness
Application Configuration management weakness
File extensions handling
Old, backup and unreferenced files
Access to Admin interfaces
Bad HTTP Methods enabled, [new - Abian Blome]
Informative Error Messages
Database credentials/connection strings available
Missing or weakly defined for Content Security Policy[New!]
Missing HSTS header[New!]
Missing or weakly defined RIA policy files[New!]
Incorrect time[New!]
Unpatched components and libraries (e.g. JavaScript libraries)[New!]
Test data in production systems (and vice versa)[New!]

4.4 Authentication Testing

Credentials transport over an unencrypted channel [Robert Winkel]
User enumeration (also Guessable user account) [Robert Winkel]
Default or test accounts[New!]
Default passwords [Robert Winkel]
Weak lock out mechanism [New! - Robert Winkel]
Account lockout DoS [New! - Robert Winkel]
Bypassing authentication schema
Vulnerable remember password [Robert Winkel]
Browser cache weakness [New! - Abian Blome]
Weak or unenforced password policy [New! - Robert Winkel]
Weak or unenforced username policy [New! - Robert Winkel]
Weak security question/answer [New! - Robert Winkel]
Failure to restrict access to authenticated resource [New!]
Weak password change function [New! - Robert Winkel]
Testing for CAPTCHA
Weaker authentication in alternative channel (e.g. mobile app, IVR, help desk) [New!]


4.5 Session Management Testing

Bypassing Session Management Schema
Weak Session Token
Cookies are set not ‘HTTP Only’, ‘Secure’, and no time validity
Exposed sensitive session variables
CSRF
Session passed over http [New!]
Session token within URL [New!]
Session Fixation
Session token not removed on server after logout [New!]
Persistent session token [New!]
Session token not restricted properly (such as domain or path not set properly) [New! - Abian Blome]
Logout function not properly implemented
Session puzzling[New! - Abian Blome]
Missing user-viewable log of authentication events[New!]

4.6 Authorization Testing

Bypassing authorization schema
Directory traversal/file include [Juan Galiana]
Privilege Escalation [Irene Abezgauz]
Insecure Direct Object References [Irene Abezgauz]
Failure to Restrict access to authorized resource [New!]
Server component has excessive privileges (e.g. indexing service, reporting interface, file generator)[New!]
Lack of enforcement of application entry points (including exposure of objects)[New!]

4.7 Business Logic Testing (OWASP-BL-001) [To review--> contributor here] Business Logic

Business logic data validation[New!]
Ability to forge requests[New!]
Lack of integrity checks (e.g. overwriting updates) [New!]
Lack of tamper evidence[New!]
Use of untrusted time source[New!]
Lack of limits to excessive rate (speed) of use[New!]
Lack of limits to size of request[New!]
Lack of limit to number of times a function can be used[New!]
Bypass of correct sequence[New!]
Missing user-viewable log of actvity[New!]
Self-hosted payment cardholder data processing[New!]
Lack of security incident reporting information[New!]
Defenses against application mis-use[New!]

4.8 Data Validation Testing

Reflected XSS
Stored XSS
HTTP Verb Tampering [Brad Causey]
HTTP Parameter pollution [Brad Causey]
Unvalidated Redirects and Forwards [Brad Causey]
SQL Injection [Brad Causey]
LDAP Injection
ORM Injection
XML Injection
SSI Injection
XPath Injection
SOAP Injection
IMAP/SMTP Injection
Code Injection
NoSQL injection[New!]
OS Commanding [Juan Galiana]
Buffer overflow
Incubated vulnerability
HTTP Splitting/Smuggling [Juan Galiana]
Regular expression DoS[New!]

Testing for Data Encryption (New!)

Application did not use encryption
Weak SSL/TSL Ciphers, Insufficient Transport Layer Protection
Cacheable HTTPS Response
Cache directives insecure
Insecure Cryptographic Storage [mainly CR Guide]
Sensitive information sent via unencrypted channels

XML Interpreter? (New!)

Testing for Weak XML Structure Testing for XML content-level WS HTTP GET parameters/REST WS Naughty SOAP attachments WS Replay Testing

Client Side Testing (New!)

Testing for DOM Based XSS
Testing for HTML5 [Juan Galiana]
Testing for Cross Site Flashing
Testing for ClickHijacking

5. Writing Reports: value the real risk

5.1 How to value the real risk [To review--> contributor here]

5.2 How to write the report of the testing [To review--> contributor here]

Appendix A: Testing Tools

  • Black Box Testing Tools [To review--> Amro. We need only tools fo webapp testing]

Appendix B: Suggested Reading

  • Whitepapers [To review--> contributor here]
  • Books [To review--> contributor here]
  • Useful Websites [To review--> contributor here]

Appendix C: Fuzz Vectors

  • Fuzz Categories [To review--> contributor here]


Appendix D: Encoded Injection

[To review--> contributor here]