WEB APP PENTESTING CHECKLIST

This OWASP based checklist was developed to include additional useful details and techniques for modern application assessments (Always in-progress)

Excel Version (in-depth) of Checklist is also available fore download here:

file-download
154KB
https://github.com/CristiVlad25/misc/tree/masterarrow-up-right

Scope configuration:

Nongreedy match .*?website.com$

INFORMATION GATHERING

Open Source Reconnaissance - WSTG-INFO-01arrow-up-right

Fingerprinting Web Server - WSTG-INFO-02arrow-up-right

Looking For Metafiles - WSTG-INFO-03arrow-up-right

Enumerating Web Server’s Applications - WSTG-INFO-04arrow-up-right

Review The Web Contents - WSTG-INFO-05arrow-up-right

Identifying Application’s Entry Points - WSTG-INFO-06arrow-up-right

Mapping Execution Paths - WSTG-INFO-07arrow-up-right

Fingerprint Web Application Framework - WSTG-INFO-08arrow-up-right, WSTG-INFO-09 arrow-up-right(Merged)

Map Application Architecture - WSTG-INFO-10arrow-up-right


CONFIGURATION & DEPLOYMENT MANAGEMENT TESTING

Test Network Configuration - WSTG-CONF-01arrow-up-right

Test Application Configuration - WSTG- CONF-02arrow-up-right

Test File Extension Handling - WSTG-CONF-03arrow-up-right

Review Backup & Unreferenced Files - WSTG-CONF-04arrow-up-right

Enumerate Infrastructure & Admin Interfaces - WSTG-CONF-05arrow-up-right

Testing HTTP Methods - WSTG-CONF-06arrow-up-right

Test HSTS - WSTG-CONF-07arrow-up-right

Test RIA Cross Domain Policy - WSTG-CONF-08arrow-up-right

Test File Permission - WSTG-CONF-09arrow-up-right

Test For Subdomain Takeover - WSTG-CONF-10arrow-up-right

Test Cloud Storage - WSTG-CONF-11arrow-up-right

Testing for Content Security Policy - WSTG-CONF-12arrow-up-right

Test Path Confusion - WSTG-CONF-13arrow-up-right


IDENTITY MANAGEMENT TESTING

Test Role Definitions - WSTG-IDNT-01arrow-up-right

Test User Registration Process - WSTG-IDNT-02arrow-up-right

Test Account Provisioning Process - WSTG-IDNT-03arrow-up-right

Testing For Account Enumeration - WSTG-IDNT-04arrow-up-right

Test For Weak Username Policy - WSTG-IDNT-05arrow-up-right


AUTHENTICATION TESTING

Test For Un-Encrypted Channel - WSTG-ATHN-01arrow-up-right

Test For Default Credentials - WSTG-ATHN-02arrow-up-right

Test For Weak Lockout Mechanism - WSTG-ATHN-03arrow-up-right

Test For Bypassing Authentication Schema - WSTG-ATHN-04arrow-up-right

Test For Vulnerable Remember Password - WSTG-ATHN-05arrow-up-right

Test For Browser Cache Weakness - WSTG-ATHN-06arrow-up-right

Test For Weak Password Policy - WSTG-ATHN-07arrow-up-right

Testing For Weak Security Questions - WSTG-ATHN-08arrow-up-right

Test For Weak Password Reset Function - WSTG-ATHN-09arrow-up-right

Test For Weak Password Change Function - WSTG-ATHN-09arrow-up-right

Test For Weak Authentication In Alternative Channel - WSTG-ATHN-10arrow-up-right


AUTHORIZATION TESTING

Testing Directory Traversal File Include - WSTG-ATHZ-01arrow-up-right

Testing Traversal With Encoding -

Testing Traversal With Different OS Schemes -

Test Other Encoding Techniques

Test Authorization Schema Bypass - WSTG-ATHZ-02arrow-up-right

Test For Privilege Escalation - WSTG-ATHZ-03arrow-up-right

Test For Insecure Direct Object Reference - WSTG-ATHZ-04arrow-up-right

Testing for OAuth Weaknesses - WSTG-ATHZ-05arrow-up-right


SESSION MANAGEMENT TESTING

Test For Session Management Schema - WSTG-SESS-01arrow-up-right

Test For Cookie Attributes - WSTG-SESS-02arrow-up-right

Test For Session Fixation - WSTG-SESS-03arrow-up-right

Test For Exposed Session Variables - WSTG-SESS-04arrow-up-right

Test For Back Refresh Attack

Test For Cross Site Request Forgery - WSTG-SESS-05arrow-up-right

Test For Weak Logout Functionality - WSTG-SESS-06arrow-up-right

Test For Session Timeout - WSTG-SESS-07arrow-up-right

Test For Session Puzzling - WSTG-SESS-08arrow-up-right

Test For Session Hijacking - WSTG-SESS-09arrow-up-right

Testing JSON Web Tokens - WSTG-SESS-10arrow-up-right


INPUT VALIDATION TESTING

Test For Reflected Cross Site Scripting - WSTG-INPV-01arrow-up-right

Test For Stored Cross Site Scripting - WSTG-INPV-02arrow-up-right

Test For HTTP Parameter Pollution - WSTG-INPV-04arrow-up-right

Test For SQL Injection - WSTG-INPV-05arrow-up-right

Test For LDAP Injection - WSTG-INPV-06arrow-up-right

Testing For XML Injection - WSTG-INPV-07arrow-up-right

Test For Server Side Includes - WSTG-INPV-08arrow-up-right

Test For XPATH Injection - WSTG-INPV-09arrow-up-right

Test For IMAP SMTP Injection - WSTG-INPV-10arrow-up-right

Test For Code Injection - WSTG-INPV-11arrow-up-right

Test For Local File Inclusion

Test For Remote File Inclusion

Test for Command Injection - WSTG-INPV-12arrow-up-right

Test For Format String Injection - WSTG-INPV-13arrow-up-right

Testing for Incubated Vulnerability - WSTG-INPV-14arrow-up-right

Testing for HTTP Splitting Smuggling - WSTG-INPV-15arrow-up-right

Testing for HTTP Incoming Requests - WSTG-INPV-16arrow-up-right

Test For Host Header Injection - WSTG-INPV-17arrow-up-right

Test For Server Side Template Injection - WSTG-INPV-18arrow-up-right

Test For Server Side Request Forgery - WSTG-INPV-19arrow-up-right

Testing for Mass Assignment - WSTG-INPV-20


ERROR HANDLING TESTING

Test For Improper Error Handling - WSTG-ERRH-01arrow-up-right


WEAK CRYPTOGRAPHY TESTING

Test For Weak Transport Layer Security - WSTG-CRYP-01arrow-up-right

Testing for Padding Oracle - WSTG-CRYP-02arrow-up-right

Testing for Sensitive Information Sent via Unencrypted Channels - WSTG-CRYP-03arrow-up-right

Testing for Weak Encryption - WSTG-CRYP-04arrow-up-right


BUSINESS LOGIC TESTING

Test Business Logic Data Validation - WSTG-BUSL-01arrow-up-right

Test Ability to Forge Requests - WSTG-BUSL-02arrow-up-right

Test Integrity Checks - WSTG-BUSL-03arrow-up-right

Test for Process Timing - WSTG-BUSL-04arrow-up-right

Test Number of Times a Function Can Be Used Limits - WSTG-BUSL-05arrow-up-right

Testing for the Circumvention of Work Flows - WSTG-BUSL-06arrow-up-right

  • Start a transaction and proceed past points that trigger credits or points to a user's account. Then cancel or alter the transaction to test if the points or credits are correctly adjusted.

  • On content management or bulletin board systems, enter valid initial text or values, then attempt to append, edit, or remove data to leave it in an invalid state, ensuring the system prevents saving incorrect information.

Test Defenses Against Application Misuse - WSTG-BUSL-07arrow-up-right

Test Upload of Unexpected File Types - WSTG-BUSL-08arrow-up-right

Test For Malicious File Upload - WSTG-BUSL-09arrow-up-right

Test Payment Functionality - WSTG-BUSL-10arrow-up-right


CLIENT SIDE TESTING

Test For DOM Based Cross Site Scripting - WSTG-CLNT-01arrow-up-right

Note: the limitations of automated testing in detecting DOM-based XSS, emphasizing the need for manual testing. This includes examining areas where parameters are referred to that could be exploited by an attacker, where code is dynamically written to the page, or where the DOM is modified or scripts are directly executed.

Testing for JavaScript Execution - WSTG-CLNT-02arrow-up-right

Testing for HTML Injection - WSTG-CLNT-03arrow-up-right

Test For URL Redirect - WSTG-CLNT-04arrow-up-right

Testing for CSS Injection - WSTG-CLNT-05arrow-up-right

Testing for Client-side Resource Manipulation - WSTG-CLNT-06

Test For Cross Origin Resource Sharing - WSTG-CLNT-07arrow-up-right

Testing for Cross Site Flashing - WSTG-CLNT-08arrow-up-right

Test For Clickjacking - WSTG-CLNT-09arrow-up-right

Testing WebSockets - WSTG-CLNT-10arrow-up-right

Testing Web Messaging - arrow-up-rightWSTG-CLNT-11arrow-up-right

Testing Browser Storage - WSTG-CLNT-12arrow-up-right

Testing for Cross-Site Script Inclusion (XSSI) - WSTG-CLNT-13arrow-up-right

OTHER COMMON ISSUES

Test For No-Rate Limiting

Test For EXIF Geodata

Test For Broken Link Hijack

Test For SPF

Test For Weak 2FA

Test For Weak OTP Implementation

Last updated