OWASP Testing Guide v4 Table of Contents

From OWASP
Revision as of 10:57, 14 September 2012 by Clerkendweller (Talk | contribs)

Jump to: navigation, search


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: 31st August 2012

Contributors List


The following are the main improvements we have to realize:

(1) - Add new testing techniques and OWASP Top10 update:
- Testing for HTTP Verb tampering
- Testing for HTTP Parameter Pollutions
- Testing for URL Redirection
- Testing for Insecure Direct Object References
- Testing for Insecure Cryptographic Storage
- Testing for Failure to Restrict URL Access
- Testing for Insufficient Transport Layer Protection
- Testing for Unvalidated Redirects and Forwards.

(2) - Review and improve all the sections in v3,

(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
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

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]
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!]
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!]
Logout function not properly implemented
Session puzzling[New!]
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!)

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

Client Side Testing (New!)

DOM XSS
HTML5 [Juan Galiana]
Cross Site Flashing
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]