Introduction

This cheat sheet provides a checklist of tasks to be performed during blackbox security testing of a web application.

Purpose

This checklist is intended to be used as a memory aid for experienced pentesters. It should be used in conjunction with the . It will be updated as the Testing Guide v4 progresses.

The intention is that this guide will be available as an XML document, with scripts that convert it into formats such as PDF, MediaWiki markup, HTML, and so forth. This will allow it to be consumed within security tools as well as being available in a format suitable for printing.

All feedback or offers of help will be appreciated. If you have specific changes you think should be made, please log in and make suggestions.

The Checklist

Information Gathering

Rendered Site Review

Hosting and Platform Review

  • Identify co-hosted and related applications
  • Identify all hostnames and ports
  • Identify third-party hosted content

Configuration Management

Secure Transmission

Protocols and Encryption

Web Services and REST

Application Password Functionality

  • \ “wikilink”)
  • Test remember me functionality
  • Test password reset and/or recovery
  • Test password change process
  • Test CAPTCHA
  • Test multi-factor authentication
  • Test for logout functionality presence
  • Test for default logins
  • Test for out-of-channel notification of account lockouts and successful password changes
  • Test for consistent authentication across applications with shared authentication schema/SSO and alternative channels
  • Test for weak security question/answer

Additional Authentication Functionality

Session Management

  • Establish how session management is handled in the application (eg, tokens in cookies, token in URL)
  • \ “wikilink”)
  • Check session cookie scope (path and domain)\ “wikilink”)
  • Check session cookie duration (expires and max-age)
  • \ “wikilink”)
  • Check session termination after relative timeout\ “wikilink”)
  • \ “wikilink”)
  • Test to see if users can have multiple simultaneous sessions
  • Test session cookies for randomness#SessionID_Predictability_and_Randomness\ “wikilink”)
  • Confirm that new session tokens are issued on login, role change, and logout
  • Test for consistent session management across applications with shared session management
  • Test for session puzzling
  • Test for CSRF and clickjacking

Authorization

Cryptography

Other

Denial of Service

  • Test for anti-automation
  • \ “wikilink”)
  • Test for HTTP protocol DoS
  • Test for SQL wildcard DoS

Specific Risky Functionality

File Uploads

  • \ “wikilink”)
  • Test that file size limits, upload frequency and total file counts are defined and are enforced
  • Test that file contents match the defined file type
  • Test that all file uploads have anti-virus scanning in place\ “wikilink”)
  • _\ “wikilink”)
  • Test that unsafe filenames are sanitized
  • Test that uploaded files are not directly accessible within the web root
  • Test that uploaded files are not served on the same hostname/port
  • Test that files and other media are integrated with the authentication and authorization schemas

Payments

Error Handling

Other Formats

  • DradisPro template format on github
  • Asana template on (thanks to Bastien Siebman)

Authors and contributors


Rory McCune
Colin Watson
Simone Onofri

All above are authors of the Testing Guide v3

Related articles

Other Cheatsheets

Category:OWASP_Breakers