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
(4.10.4 Testing for Weak Encryption (OTG-CRYPST-004))
 
(30 intermediate revisions by 5 users not shown)
Line 3: Line 3:
  
 
'''This is the FINAL table of content of the New Testing Guide v4.'''<br>
 
'''This is the FINAL table of content of the New Testing Guide v4.'''<br>
<br>At the moment the project is in the REVIEW phase. <br>You can download the stable version v3 [http://www.owasp.org/images/5/56/OWASP_Testing_Guide_v3.pdf here] <br>
+
 
 +
<br>You can download the Guide [https://www.owasp.org/images/1/19/OTGv4.pdf here] <br>
  
 
Back to the OWASP Testing Guide Project:
 
Back to the OWASP Testing Guide Project:
 
http://www.owasp.org/index.php/OWASP_Testing_Project
 
http://www.owasp.org/index.php/OWASP_Testing_Project
  
'''Updated: 1st April 2014'''
+
'''Testing Guide Wiki last Updated: April 2016'''
  
[[ OWTGv4 Contributors list|'''Contributors List]]
+
[[ OWTGv4 Contributors list|'''Contributors List''']]
  
 
----
 
----
Line 30: Line 31:
 
==[[Testing Guide Introduction|2. Introduction]]==
 
==[[Testing Guide Introduction|2. Introduction]]==
  
'''2.1 The OWASP Testing Project'''
+
'''[[Testing Guide Introduction#The_OWASP_Testing Project|2.1 The OWASP Testing Project]]'''
  
'''2.2 Principles of Testing'''
+
'''[[Testing Guide Introduction#Principles_of_Testing|2.2 Principles of Testing]]'''
  
'''2.3 Testing Techniques Explained'''  
+
'''[[Testing Guide Introduction#Testing_Techniques_Explained|2.3 Testing Techniques Explained]]'''
  
'''2.4 Deriving Security Test Requirements'''
+
'''[[Testing Guide Introduction#Manual_Inspections_.26_Reviews|2.4 Manual Inspections & Reviews]]'''
  
'''2.5 Security Tests Integrated in Development and Testing Workflows'''
+
'''[[Testing Guide Introduction#Threat_Modeling|2.5 Threat Modeling]]'''
  
'''2.6 Security Test Data Analysis and Reporting'''
+
'''[[Testing Guide Introduction#Source_Code_Review|2.6 Source Code Review]]'''
  
 +
'''[[Testing Guide Introduction#Penetration_Testing|2.7 Penetration Testing]]'''
 +
 +
'''[[Testing Guide Introduction#The_Need_for_a_Balanced_Approach|2.8 The Need for a Balanced Approach]]'''
 +
 +
'''[[Testing Guide Introduction#Deriving_Security_Test_Requirements|2.9 Deriving Security Test Requirements]]'''
 +
 +
'''[[Testing Guide Introduction#Security_Tests_Integrated_in_Development_and_Testing_Workflows|2.10 Security Tests Integrated in Development and Testing Workflows]]'''
 +
 +
'''[[Testing Guide Introduction#Security_Test_Data_Analysis_and_Reporting|2.11 Security Test Data Analysis and Reporting]]'''
  
 
==[[The OWASP Testing Framework|3. The OWASP Testing Framework]]==
 
==[[The OWASP Testing Framework|3. The OWASP Testing Framework]]==
  
'''3.1. Overview'''
+
'''[[The_OWASP_Testing_Framework#Overview|3.1 Overview]]'''
  
'''3.2. Phase 1: Before Development Begins '''
+
'''[[The_OWASP_Testing_Framework#Phase_1:_Before_Development_Begins|3.2 Phase 1: Before Development Begins]]'''
  
'''3.3. Phase 2: During Definition and Design'''
+
'''[[The_OWASP_Testing_Framework#Phase_2:_During_Definition_and_Design|3.3 Phase 2: During Definition and Design]]'''
  
'''3.4. Phase 3: During Development'''
+
'''[[The_OWASP_Testing_Framework#Phase_3:_During_Development|3.4 Phase 3: During Development]]'''
  
'''3.5. Phase 4: During Deployment'''
+
'''[[The_OWASP_Testing_Framework#Phase_4:_During_Deployment|3.5 Phase 4: During Deployment]]'''
  
'''3.6. Phase 5: Maintenance and Operations'''
+
'''[[The_OWASP_Testing_Framework#Phase_5:_Maintenance_and_Operations|3.6 Phase 5: Maintenance and Operations]]'''
  
'''3.7. A Typical SDLC Testing Workflow '''
+
'''[[The_OWASP_Testing_Framework#A_Typical_SDLC_Testing_Workflow|3.7 A Typical SDLC Testing Workflow]]'''
  
 +
'''[[Penetration testing methodologies |3.8 Penetration Testing Methodologies]]'''
  
==[[Web Application Penetration Testing |4. Web Application Security Testing ]]==
+
==[[Web Application Penetration Testing |4. Web Application Security Testing]]==
  
 
[[Testing: Introduction and objectives|'''4.1 Introduction and Objectives''']]  
 
[[Testing: Introduction and objectives|'''4.1 Introduction and Objectives''']]  
Line 69: Line 80:
 
[[Testing Information Gathering|'''4.2 Information Gathering ''']]
 
[[Testing Information Gathering|'''4.2 Information Gathering ''']]
  
[[Conduct_search_engine_discovery/reconnaissance_for_information_leakage_(OTG-INFO-001) |4.2.1 Conduct Search Engine Discovery and Reconnaissance for Information Leakage (OTG-INFO-001) ]]
+
[[Conduct_search_engine_discovery/reconnaissance_for_information_leakage_(OTG-INFO-001) |4.2.1 Conduct Search Engine Discovery and Reconnaissance for Information Leakage (OTG-INFO-001)]]
  
[[Fingerprint Web Server (OTG-INFO-002)|4.2.2 Fingerprint Web Server (OTG-INFO-002) ]]  
+
[[Fingerprint Web Server (OTG-INFO-002)|4.2.2 Fingerprint Web Server (OTG-INFO-002)]]  
  
[[Review_Webserver_Metafiles_for_Information_Leakage_(OTG-INFO-003) |4.2.3 Review Webserver Metafiles for Information Leakage (OTG-INFO-003) ]]  
+
[[Review_Webserver_Metafiles_for_Information_Leakage_(OTG-INFO-003) |4.2.3 Review Webserver Metafiles for Information Leakage (OTG-INFO-003)]]  
  
[[Enumerate Applications on Webserver (OTG-INFO-004) |4.2.4 Enumerate Applications on Webserver (OTG-INFO-004) ]]  
+
[[Enumerate Applications on Webserver (OTG-INFO-004) |4.2.4 Enumerate Applications on Webserver (OTG-INFO-004)]]  
  
[[Review_webpage_comments_and_metadata_for_information_leakage_(OTG-INFO-005) |4.2.5 Review Webpage Comments and Metadata for Information Leakage (OTG-INFO-005) ]]  
+
[[Review_webpage_comments_and_metadata_for_information_leakage_(OTG-INFO-005) |4.2.5 Review Webpage Comments and Metadata for Information Leakage (OTG-INFO-005)]]  
  
[[Identify_application_entry_points_(OTG-INFO-006) |4.2.6 Identify application entry points (OTG-INFO-006) ]]  
+
[[Identify_application_entry_points_(OTG-INFO-006) |4.2.6 Identify application entry points (OTG-INFO-006)]]  
  
 
[[Map_execution_paths_through_application_(OTG-INFO-007) |4.2.7 Map execution paths through application (OTG-INFO-007)]]  
 
[[Map_execution_paths_through_application_(OTG-INFO-007) |4.2.7 Map execution paths through application (OTG-INFO-007)]]  
  
[[Fingerprint_Web_Application_Framework_(OTG-INFO-008) |4.2.8 Fingerprint Web Application Framework (OTG-INFO-008) ]]  
+
[[Fingerprint_Web_Application_Framework_(OTG-INFO-008) |4.2.8 Fingerprint Web Application Framework (OTG-INFO-008)]]  
  
[[Fingerprint_Web_Application_(OTG-INFO-009) |4.2.9 Fingerprint Web Application (OTG-INFO-009) ]]  
+
[[Fingerprint_Web_Application_(OTG-INFO-009) |4.2.9 Fingerprint Web Application (OTG-INFO-009)]]  
  
[[Map_Application_Architecture_(OTG-INFO-010) |4.2.10 Map Application Architecture (OTG-INFO-010) ]]  
+
[[Map_Application_Architecture_(OTG-INFO-010) |4.2.10 Map Application Architecture (OTG-INFO-010)]]  
  
  
 
[[Testing for configuration management|'''4.3 Configuration and Deployment Management Testing ''']]
 
[[Testing for configuration management|'''4.3 Configuration and Deployment Management Testing ''']]
  
[[Test Network/Infrastructure Configuration (OTG-CONFIG-001)|4.3.1 Test Network/Infrastructure Configuration (OTG-CONFIG-001) ]]  
+
[[Test Network/Infrastructure Configuration (OTG-CONFIG-001)|4.3.1 Test Network/Infrastructure Configuration (OTG-CONFIG-001)]]  
  
[[Test Application Platform Configuration (OTG-CONFIG-002)|4.3.2 Test Application Platform Configuration (OTG-CONFIG-002) ]]   
+
[[Test Application Platform Configuration (OTG-CONFIG-002)|4.3.2 Test Application Platform Configuration (OTG-CONFIG-002)]]   
  
[[Test File Extensions Handling for Sensitive Information (OTG-CONFIG-003)|4.3.3 Test File Extensions Handling for Sensitive Information (OTG-CONFIG-003) ]]  
+
[[Test File Extensions Handling for Sensitive Information (OTG-CONFIG-003)|4.3.3 Test File Extensions Handling for Sensitive Information (OTG-CONFIG-003)]]  
  
[[Review Old, Backup and Unreferenced Files for Sensitive Information (OTG-CONFIG-004)|4.3.4 Review Old, Backup and Unreferenced Files for Sensitive Information (OTG-CONFIG-004) ]]  
+
[[Review Old, Backup and Unreferenced Files for Sensitive Information (OTG-CONFIG-004)|4.3.4 Review Old, Backup and Unreferenced Files for Sensitive Information (OTG-CONFIG-004)]]  
  
[[Enumerate Infrastructure and Application Admin Interfaces (OTG-CONFIG-005)|4.3.5 Enumerate Infrastructure and Application Admin Interfaces (OTG-CONFIG-005) ]]  
+
[[Enumerate Infrastructure and Application Admin Interfaces (OTG-CONFIG-005)|4.3.5 Enumerate Infrastructure and Application Admin Interfaces (OTG-CONFIG-005)]]  
  
[[Test HTTP Methods (OTG-CONFIG-006)|4.3.6 Test HTTP Methods (OTG-CONFIG-006) ]]  
+
[[Test HTTP Methods (OTG-CONFIG-006)|4.3.6 Test HTTP Methods (OTG-CONFIG-006)]]  
  
[[Test HTTP Strict Transport Security (OTG-CONFIG-007)|4.3.7 Test HTTP Strict Transport Security (OTG-CONFIG-007) ]]  
+
[[Test HTTP Strict Transport Security (OTG-CONFIG-007)|4.3.7 Test HTTP Strict Transport Security (OTG-CONFIG-007)]]  
  
[[Test RIA cross domain policy (OTG-CONFIG-008)|4.3.8 Test RIA cross domain policy (OTG-CONFIG-008) ]]  
+
[[Test RIA cross domain policy (OTG-CONFIG-008)|4.3.8 Test RIA cross domain policy (OTG-CONFIG-008)]]
 +
 
 +
[[Test File Permission (OTG-CONFIG-009)|4.3.9 Test File Permission (OTG-CONFIG-009)]]  
  
  
Line 117: Line 130:
 
[[Test Account Provisioning Process (OTG-IDENT-003)|4.4.3 Test Account Provisioning Process (OTG-IDENT-003)]]  
 
[[Test Account Provisioning Process (OTG-IDENT-003)|4.4.3 Test Account Provisioning Process (OTG-IDENT-003)]]  
  
[[Testing for Account Enumeration and Guessable User Account (OTG-IDENT-004)|4.4.4 Testing for Account Enumeration and Guessable User Account (OTG-IDENT-004) ]]
+
[[Testing for Account Enumeration and Guessable User Account (OTG-IDENT-004)|4.4.4 Testing for Account Enumeration and Guessable User Account (OTG-IDENT-004)]]
  
 
[[Testing for Weak or unenforced username policy (OTG-IDENT-005)| 4.4.5 Testing for Weak or unenforced username policy (OTG-IDENT-005)]]  
 
[[Testing for Weak or unenforced username policy (OTG-IDENT-005)| 4.4.5 Testing for Weak or unenforced username policy (OTG-IDENT-005)]]  
Line 183: Line 196:
 
[[Testing for HTTP Verb Tampering (OTG-INPVAL-003)|4.8.3 Testing for HTTP Verb Tampering (OTG-INPVAL-003)]]  
 
[[Testing for HTTP Verb Tampering (OTG-INPVAL-003)|4.8.3 Testing for HTTP Verb Tampering (OTG-INPVAL-003)]]  
  
[[Testing for HTTP Parameter pollution (OTG-INPVAL-004)|4.8.4 Testing for HTTP Parameter pollution (OTG-INPVAL-004) ]]  
+
[[Testing for HTTP Parameter pollution (OTG-INPVAL-004)|4.8.4 Testing for HTTP Parameter pollution (OTG-INPVAL-004)]]  
  
 
[[Testing for SQL Injection (OTG-INPVAL-005)| 4.8.5 Testing for SQL Injection (OTG-INPVAL-005)]]  
 
[[Testing for SQL Injection (OTG-INPVAL-005)| 4.8.5 Testing for SQL Injection (OTG-INPVAL-005)]]  
Line 193: Line 206:
 
[[Testing for SQL Server|4.8.5.3 SQL Server Testing]]
 
[[Testing for SQL Server|4.8.5.3 SQL Server Testing]]
  
[[OWASP_Backend_Security_Project_Testing_PostgreSQL|4.8.5.4 Testing PostgreSQL (from OWASP BSP) ]]
+
[[OWASP_Backend_Security_Project_Testing_PostgreSQL|4.8.5.4 Testing PostgreSQL (from OWASP BSP)]]
  
 
[[Testing for MS Access |4.8.5.5 MS Access Testing]]
 
[[Testing for MS Access |4.8.5.5 MS Access Testing]]
Line 229: Line 242:
 
[[Testing for Incubated Vulnerability (OTG-INPVAL-015)|4.8.15 Testing for incubated vulnerabilities (OTG-INPVAL-015)]]  
 
[[Testing for Incubated Vulnerability (OTG-INPVAL-015)|4.8.15 Testing for incubated vulnerabilities (OTG-INPVAL-015)]]  
  
[[Testing for HTTP Splitting/Smuggling  (OTG-INPVAL-016)|4.8.16 Testing for HTTP Splitting/Smuggling  (OTG-INPVAL-016) ]]  
+
[[Testing for HTTP Splitting/Smuggling  (OTG-INPVAL-016)|4.8.16 Testing for HTTP Splitting/Smuggling  (OTG-INPVAL-016)]]
 +
 
 +
[[Testing for HTTP Incoming requests  (OTG-INPVAL-017)|4.8.17 Testing for HTTP Incoming Requests  (OTG-INPVAL-017)]]  
  
  
Line 246: Line 261:
  
 
[[Testing for Sensitive information sent via unencrypted channels (OTG-CRYPST-003)|4.10.3 Testing for Sensitive information sent via unencrypted channels (OTG-CRYPST-003)]]  
 
[[Testing for Sensitive information sent via unencrypted channels (OTG-CRYPST-003)|4.10.3 Testing for Sensitive information sent via unencrypted channels (OTG-CRYPST-003)]]  
 +
 +
[[Testing for Weak Encryption (OTG-CRYPST-004)|4.10.4 Testing for Weak Encryption (OTG-CRYPST-004)]]
  
  
Line 299: Line 316:
  
  
==[[Appendix A: Testing Tools |Appendix A: Testing Tools ]]==
+
==[[Appendix A: Testing Tools |Appendix A: Testing Tools Resource]]==
  
* Black Box Testing Tools  
+
Security Testing Tools
 +
* http://www.pentest-standard.org/index.php/PTES_Technical_Guidelines
 +
* http://www.vulnerabilityassessment.co.uk/Penetration%20Test.html
 +
* http://sectools.org/
 +
* https://www.kali.org/
 +
* http://www.blackarch.org/tools.html
  
 +
Security Testing Tools in Virtual Image
 +
* https://tools.pentestbox.com/
 +
* https://sourceforge.net/p/samurai/wiki/Home/
 +
* https://sourceforge.net/projects/santoku/
 +
* https://sourceforge.net/projects/parrotsecurity/?source=navbar
 +
* https://sourceforge.net/projects/matriux/?source=navbar
 +
* http://www.blackarch.org/downloads.html
 +
* https://www.kali.org/
 +
* http://cyborg.ztrela.com/tools/
 +
* http://www.caine-live.net/index.html
 +
* http://www.pentoo.ch/download/
 +
* http://bugtraq-team.com/
  
 
==[[OWASP Testing Guide Appendix B: Suggested Reading | Appendix B: Suggested Reading]]==
 
==[[OWASP Testing Guide Appendix B: Suggested Reading | Appendix B: Suggested Reading]]==
Line 323: Line 357:
  
 
----
 
----
 
 
 
 
ARTICLES DELETED:
 
 
INFO GATHERING:
 
 
CONFIGURATION AND DEPLOY MANAGEMENT TESTING:
 
 
[[Testing for Database credentials/connection strings available|4.3.7 Testing for Database credentials/connection strings available (OTG-CONFIG-007) ]] formerly "Testing for Database credentials/connection strings available (OWASP-CM-007)"
 
 
[[Testing for Content Security Policy weakness|4.3.8 Test Content Security Policy (OTG-CONFIG-008) ]] formerly "Testing for Content Security Policy weakness (OWASP-CM-008)"
 
 
[[Testing for Frame Options|4.3.10 Test Frame Options (OTG-CONFIG-010) ]]
 
 
[[Testing for Content Type Options|4.3.12 Test Content Type Options (OTG-CONFIG-012) ]] new
 
 
IDENTITY MANAGEMENT TESTING:
 
 
[[Test User Deregistration Process (OTG-IDENT-008)|4.4.8 Test User Deregistration Process (OTG-IDENT-008)]] New
 
 
[[Test Account Deregistration Process (OTG-IDENT-009)|4.4.9 Test Account Deregistration Process (OTG-IDENT-009)]] New
 
 
AUTHORIZATION TESTING:
 
 
[[Test Management of Account Permissions (OTG-AUTHZ-001)|4.6.1 Test Management of Account Permissions (OTG-AUTHZ-001)]] New
 
 
[[Testing for Failure to Restrict access to authorized resource (OWASP-AZ-005)|4.6.6 Testing for Failure to Restrict access to authorized resource (OTG-AUTHZ-006)]] formerly "Testing for Failure to Restrict access to authorized resource (OWASP-AZ-005)"
 
 
[[Test privileges of server components (OTG-AUTHZ-007)|4.6.7 Test privileges of server components (OTG-AUTHZ-007)]] (e.g. indexing service, reporting interface, file generator)
 
 
[[Test enforcement of application entry points (OTG-AUTHZ-008)|4.6.8 Test enforcement of application entry points (OTG-AUTHZ-008)]] (including exposure of objects)
 
 
[[Testing for failure to restrict access to authenticated resource(OWASP-AT-010)|4.6.9 Testing for failure to restrict access to authenticated resource (OTG-AUTHZ-009)]] formerly "Testing for failure to restrict access to authenticated resource (OWASP-AT-010)"
 
 
SESSION MANAGEMENT TESTING:
 
 
[[Test Session Token Strength (OTG-SESS-006)|4.7.6 Test Session Token Strength (OTG-SESS-006)]]
 
 
[[Test multiple concurrent sessions (OTG-SESS-009)|4.7.9 Test multiple concurrent sessions (OTG-SESS-009)]]
 
 
DATA VALIDATION TESTING:
 
 
[[Testing for Unvalidated Redirects and Forwards (OWASP-DV-004)|4.8.5 Testing for Unvalidated Redirects and Forwards (OTG-INPVAL-005) ]] formerly "Testing for Unvalidated Redirects and Forwards (OWASP-DV-004)"
 
 
CRYPTOGRAPHY:
 
 
[[Testing for Insecure encryption usage (OWASP-EN-001)| 4.10.1  Testing for Insecure encryption usage (OTG-CRYPST-001)]] formerly "Testing for Insecure encryption usage (OWASP-EN-001)"
 
 
[[Testing for Cacheable HTTPS Response (OTG-CRYPST-004)| 4.10.4 Testing for Cacheable HTTPS Response (OTG-CRYPST-004)]]
 
 
[[Test Cache Directives (OTG-CRYPST-005)|4.10.5 Test Cache Directives (OTG-CRYPST-005)]]
 
 
[[Testing for Insecure Cryptographic Storage (OTG-CRYPST-006)|4.10.6 Testing for Insecure Cryptographic Storage (OTG-CRYPST-006)]]
 
 
[[Test Cryptographic Key Management (OTG-CRYPST-008)|4.10.8 Test Cryptographic Key Management (OTG-CRYPST-008)]]
 
 
 
BUSINESS LOGIC:
 
 
XXXX[[Testing for Forged Requests Using Predictive Parameters (OTG-BUSLOGIC-003)|4.12.3 Testing for Forged Requests Using Predictive Parameters (OTG-BUSLOGIC-003)]] [New!]- [Combine with Test Ability to forge requests as an example]
 
 
[[Test integrity checks (OTG-BUSLOGIC-003)|4.12.3 Test Integrity Checks (OTG-BUSLOGIC-003)]] (e.g. overwriting updates)
 
 
DENIAL OF SERVICE
 
 
[[Denial of Service|'''4.13 Denial of Service''']]
 
 
[[Test Regular expression DoS (OTG-DOS-001)| 4.13.1 Test Regular expression DoS (OTG-DOS-001)]] [New!] note: to understand better<br>
 
 
[[Test XML DoS (OTG-DOS-002)| 4.13.2 Test XML DoS (OTG-DOS-002)]] [New! - Andrew Muller]
 
 
[[Testing for Captcha (OWASP-AT-012)|4.13.3 Testing for CAPTCHA (OTG-DOS-003)]] formerly "Testing for CAPTCHA (OWASP-AT-012)"
 
 
[[Test excessive rate (speed) of use limits (OTG-BUSLOGIC-005)|4.13.4 Test excessive rate (speed) of use limits (OTG-DOS-004)]] [New!]- [Moved from Business Logic, formerly OTG-BUSLOGIC-006]
 
 
[[Test size of request limits (OTG-BUSLOGIC-006)|4.13.5 Test size of request limits (OTG-DOS-005)]] [New!] - [Moved from Business Logic, formerly OTG-BUSLOGIC-008]
 
 
WEB SERVICES TESTING
 
 
[[Web Service (XML Interpreter)|'''4.14 Web Service Testing''']] [Tom Eston]
 
 
[[Scoping a Web Service Test (OWASP-WS-001)|4.14.1 Scoping a Web Service Test (OTG-WEBSVC-001)]] formerly "Scoping a Web Service Test (OWASP-WS-001)"
 
 
[[WS Information Gathering (OWASP-WS-002)|4.14.2 WS Information Gathering (OTG-WEBSVC-002)]] formerly "WS Information Gathering (OWASP-WS-002)"
 
 
[[WS Authentication Testing (OWASP-WS-003)|4.14.3 WS Authentication Testing (OTG-WEBSVC-003)]] formerly "WS Authentication Testing (OWASP-WS-003)"
 
 
[[WS Management Interface Testing (OWASP-WS-004)|4.14.4 WS Management Interface Testing (OTG-WEBSVC-004)]] formerly "WS Management Interface Testing (OWASP-WS-004)"
 
 
[[Weak XML Structure Testing (OWASP-WS-005)|4.14.5 Weak XML Structure Testing (OTG-WEBSVC-005)]] formerly "Weak XML Structure Testing (OWASP-WS-005)"
 
 
[[XML Content-Level Testing (OWASP-WS-006)|4.14.6 XML Content-Level Testing (OTG-WEBSVC-006)]] formerly "XML Content-Level Testing (OWASP-WS-006)"
 
 
[[WS HTTP GET Parameters/REST Testing (OWASP-WS-007)|4.14.7 WS HTTP GET Parameters/REST Testing (OTG-WEBSVC-007)]] formerly "WS HTTP GET Parameters/REST Testing (OWASP-WS-007)"
 
 
[[WS Naughty SOAP Attachment Testing (OWASP-WS-008)|4.14.8 WS Naughty SOAP Attachment Testing (OTG-WEBSVC-008)]] formerly "WS Naughty SOAP Attachment Testing (OWASP-WS-008)"
 
 
[[WS Replay/MiTM Testing (OWASP-WS-009)|4.14.9 WS Replay/MiTM Testing (OTG-WEBSVC-009)]] formerly "WS Replay/MiTM Testing (OWASP-WS-009)"
 
 
[[WS BEPL Testing (OWASP-WS-010)|4.14.10 WS BEPL Testing (OTG-WEBSVC-010)]] formerly "WS BEPL Testing (OWASP-WS-010)"
 
 
[[Logging|'''4.11 Logging''']] Not convinced Logging should be included as it requires access to logs to test
 
 
[[Test time synchronisation (OTG-LOG-001)|4.11.1 Test time synchronisation (OTG-LOG-001) ]] formerly "Incorrect time"
 
 
[[Test user-viewable log of authentication events (OTG-LOG-002)|4.11.2 Test user-viewable log of authentication events (OTG-LOG-002)]]
 
 
[[Test Permissions of Guest/Training Accounts (OTG-IDENT-006)|4.4.6 Test Permissions of Guest/Training Accounts (OTG-IDENT-006)]] New
 
 
[[Test Account Suspension/Resumption Process (OTG-IDENT-007)|4.4.7 Test Account Suspension/Resumption Process (OTG-IDENT-007)]] New
 
  
 
[[Category:OWASP Testing Project]]
 
[[Category:OWASP Testing Project]]
 +
[[Category:Popular]]

Latest revision as of 00:54, 8 May 2017

This project is part of the OWASP Breakers community.
Feel free to browse other projects within the Defenders, Builders, and Breakers communities.


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


You can download the Guide here

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

Testing Guide Wiki last Updated: April 2016

Contributors List



Table of Contents

Foreword by Eoin Keary

1. Frontispiece

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

2.4 Manual Inspections & Reviews

2.5 Threat Modeling

2.6 Source Code Review

2.7 Penetration Testing

2.8 The Need for a Balanced Approach

2.9 Deriving Security Test Requirements

2.10 Security Tests Integrated in Development and Testing Workflows

2.11 Security Test Data Analysis and 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

3.8 Penetration Testing Methodologies

4. Web Application Security Testing

4.1 Introduction and Objectives

4.1.1 Testing Checklist


4.2 Information Gathering

4.2.1 Conduct Search Engine Discovery and Reconnaissance for Information Leakage (OTG-INFO-001)

4.2.2 Fingerprint Web Server (OTG-INFO-002)

4.2.3 Review Webserver Metafiles for Information Leakage (OTG-INFO-003)

4.2.4 Enumerate Applications on Webserver (OTG-INFO-004)

4.2.5 Review Webpage Comments and Metadata for Information Leakage (OTG-INFO-005)

4.2.6 Identify application entry points (OTG-INFO-006)

4.2.7 Map execution paths through application (OTG-INFO-007)

4.2.8 Fingerprint Web Application Framework (OTG-INFO-008)

4.2.9 Fingerprint Web Application (OTG-INFO-009)

4.2.10 Map Application Architecture (OTG-INFO-010)


4.3 Configuration and Deployment Management Testing

4.3.1 Test Network/Infrastructure Configuration (OTG-CONFIG-001)

4.3.2 Test Application Platform Configuration (OTG-CONFIG-002)

4.3.3 Test File Extensions Handling for Sensitive Information (OTG-CONFIG-003)

4.3.4 Review Old, Backup and Unreferenced Files for Sensitive Information (OTG-CONFIG-004)

4.3.5 Enumerate Infrastructure and Application Admin Interfaces (OTG-CONFIG-005)

4.3.6 Test HTTP Methods (OTG-CONFIG-006)

4.3.7 Test HTTP Strict Transport Security (OTG-CONFIG-007)

4.3.8 Test RIA cross domain policy (OTG-CONFIG-008)

4.3.9 Test File Permission (OTG-CONFIG-009)


4.4 Identity Management Testing

4.4.1 Test Role Definitions (OTG-IDENT-001)

4.4.2 Test User Registration Process (OTG-IDENT-002)

4.4.3 Test Account Provisioning Process (OTG-IDENT-003)

4.4.4 Testing for Account Enumeration and Guessable User Account (OTG-IDENT-004)

4.4.5 Testing for Weak or unenforced username policy (OTG-IDENT-005)


4.5 Authentication Testing

4.5.1 Testing for Credentials Transported over an Encrypted Channel (OTG-AUTHN-001)

4.5.2 Testing for default credentials (OTG-AUTHN-002)

4.5.3 Testing for Weak lock out mechanism (OTG-AUTHN-003)

4.5.4 Testing for bypassing authentication schema (OTG-AUTHN-004)

4.5.5 Test remember password functionality (OTG-AUTHN-005)

4.5.6 Testing for Browser cache weakness (OTG-AUTHN-006)

4.5.7 Testing for Weak password policy (OTG-AUTHN-007)

4.5.8 Testing for Weak security question/answer (OTG-AUTHN-008)

4.5.9 Testing for weak password change or reset functionalities (OTG-AUTHN-009)

4.5.10 Testing for Weaker authentication in alternative channel (OTG-AUTHN-010)


4.6 Authorization Testing

4.6.1 Testing Directory traversal/file include (OTG-AUTHZ-001)

4.6.2 Testing for bypassing authorization schema (OTG-AUTHZ-002)

4.6.3 Testing for Privilege Escalation (OTG-AUTHZ-003)

4.6.4 Testing for Insecure Direct Object References (OTG-AUTHZ-004)


4.7 Session Management Testing

4.7.1 Testing for Bypassing Session Management Schema (OTG-SESS-001)

4.7.2 Testing for Cookies attributes (OTG-SESS-002)

4.7.3 Testing for Session Fixation (OTG-SESS-003)

4.7.4 Testing for Exposed Session Variables (OTG-SESS-004)

4.7.5 Testing for Cross Site Request Forgery (CSRF) (OTG-SESS-005)

4.7.6 Testing for logout functionality (OTG-SESS-006)

4.7.7 Test Session Timeout (OTG-SESS-007)

4.7.8 Testing for Session puzzling (OTG-SESS-008)


4.8 Input Validation Testing

4.8.1 Testing for Reflected Cross Site Scripting (OTG-INPVAL-001)

4.8.2 Testing for Stored Cross Site Scripting (OTG-INPVAL-002)

4.8.3 Testing for HTTP Verb Tampering (OTG-INPVAL-003)

4.8.4 Testing for HTTP Parameter pollution (OTG-INPVAL-004)

4.8.5 Testing for SQL Injection (OTG-INPVAL-005)

4.8.5.1 Oracle Testing

4.8.5.2 MySQL Testing

4.8.5.3 SQL Server Testing

4.8.5.4 Testing PostgreSQL (from OWASP BSP)

4.8.5.5 MS Access Testing

4.8.5.6 Testing for NoSQL injection

4.8.6 Testing for LDAP Injection (OTG-INPVAL-006)

4.8.7 Testing for ORM Injection (OTG-INPVAL-007)

4.8.8 Testing for XML Injection (OTG-INPVAL-008)

4.8.9 Testing for SSI Injection (OTG-INPVAL-009)

4.8.10 Testing for XPath Injection (OTG-INPVAL-010)

4.8.11 IMAP/SMTP Injection (OTG-INPVAL-011)

4.8.12 Testing for Code Injection (OTG-INPVAL-012)

4.8.12.1 Testing for Local File Inclusion

4.8.12.2 Testing for Remote File Inclusion

4.8.13 Testing for Command Injection (OTG-INPVAL-013)

4.8.14 Testing for Buffer overflow (OTG-INPVAL-014)

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 (OTG-INPVAL-015)

4.8.16 Testing for HTTP Splitting/Smuggling (OTG-INPVAL-016)

4.8.17 Testing for HTTP Incoming Requests (OTG-INPVAL-017)


4.9 Testing for Error Handling

4.9.1 Analysis of Error Codes (OTG-ERR-001)

4.9.2 Analysis of Stack Traces (OTG-ERR-002)


4.10 Testing for weak Cryptography

4.10.1 Testing for Weak SSL/TLS Ciphers, Insufficient Transport Layer Protection (OTG-CRYPST-001)

4.10.2 Testing for Padding Oracle (OTG-CRYPST-002)

4.10.3 Testing for Sensitive information sent via unencrypted channels (OTG-CRYPST-003)

4.10.4 Testing for Weak Encryption (OTG-CRYPST-004)


4.11 Business Logic Testing

4.11.1 Test Business Logic Data Validation (OTG-BUSLOGIC-001)

4.11.2 Test Ability to Forge Requests (OTG-BUSLOGIC-002)

4.11.3 Test Integrity Checks (OTG-BUSLOGIC-003)

4.11.4 Test for Process Timing (OTG-BUSLOGIC-004)

4.11.5 Test Number of Times a Function Can be Used Limits (OTG-BUSLOGIC-005)

4.11.6 Testing for the Circumvention of Work Flows (OTG-BUSLOGIC-006)

4.11.7 Test Defenses Against Application Mis-use (OTG-BUSLOGIC-007)

4.11.8 Test Upload of Unexpected File Types (OTG-BUSLOGIC-008)

4.11.9 Test Upload of Malicious Files (OTG-BUSLOGIC-009)


4.12 Client Side Testing

4.12.1 Testing for DOM based Cross Site Scripting (OTG-CLIENT-001)

4.12.2 Testing for JavaScript Execution (OTG-CLIENT-002)

4.12.3 Testing for HTML Injection (OTG-CLIENT-003)

4.12.4 Testing for Client Side URL Redirect (OTG-CLIENT-004)

4.12.5 Testing for CSS Injection (OTG-CLIENT-005)

4.12.6 Testing for Client Side Resource Manipulation (OTG-CLIENT-006)

4.12.7 Test Cross Origin Resource Sharing (OTG-CLIENT-007)

4.12.8 Testing for Cross Site Flashing (OTG-CLIENT-008)

4.12.9 Testing for Clickjacking (OTG-CLIENT-009)

4.12.10 Testing WebSockets (OTG-CLIENT-010)

4.12.11 Test Web Messaging (OTG-CLIENT-011)

4.12.12 Test Local Storage (OTG-CLIENT-012)


5. Reporting

Appendix A: Testing Tools Resource

Security Testing Tools

Security Testing Tools in Virtual Image

Appendix B: Suggested Reading

  • Whitepapers
  • Books
  • Useful Websites


Appendix C: Fuzz Vectors

  • Fuzz Categories


Appendix D: Encoded Injection

  • Input Encoding
  • Output Encoding