Web Application Checklist
Web Application Checklist
CHECKLIST
/
om
INFORMATION GATHERING
t.c
1. Open Source Reconnaissance
po
☐ Perform Google Dorks search
gs
☐ Perform OSINT
lo
2. Fingerprinting Web Server
.b
99
☐ Find the type of Web Server
th
/
om
☐ Identify what the methods used are?
☐ Identify where the methods used are?
t.c
☐ Identify the Injection point
po
gs
7. Mapping Execution Paths
lo
☐ Use Burp Suite
☐ Use Dirsearch
.b
99
th
☐ Use Gobuster
an
☐ Use Whatweb
ar
/
om
☐ Ensure only required modules are used
t.c
☐ Ensure unwanted modules are disabled
po
☐ Ensure the server can handle DOS
gs
☐ Check how the application is handling 4xx & 5xx errors
lo
☐ Check for the privilege required to run
.b
☐ Check logs for sensitive info
99
th
/
om
☐ Test for HTTP method overriding
t.c
7. Test HSTS
po
☐ Ensure HSTS is enabled
gs
lo
8. Test RIA Cross Domain Policy
☐ Check for Adobe’s Cross Domain Policy .b
99
☐ Ensure it has the least privilege
th
an
/
om
t.c
2. Test User Registration Process
po
☐ Ensure the same user or identity can’t register again and again
gs
☐ Ensure the registrations are verified
lo
☐ Ensure disposable email addresses are rejected
.b
☐ Check what proof is required for successful registration
99
th
AUTHENTICATION TESTING
/
om
☐ Check for the HTTP register or sign-in page
t.c
☐ Check for HTTP forgot password page
po
☐ Check for HTTP change password
gs
☐ Check for resources on HTTP after logout
lo
☐ Test for forced browsing to HTTP pages
.b
99
2. Test For Default Credentials
th
☐ Ensure the account has been locked after 3-5 incorrect attempts
ht
/
om
☐ Test multiple logins allowed or not?
t.c
5. Test For Vulnerable Remember Password
po
☐ Ensure that the stored password is encrypted
gs
☐ Ensure that the stored password is on the server-side
lo
6. Test For Browser Cache Weakness
.b
99
☐ Ensure proper cache-control is set on sensitive pages
th
/
om
☐ Ensure the token must expire after not being used for a long time
t.c
po
10. Test For Weak Password Change Function
☐ Check if the old password asked to make a change
gs
☐ Check for the uniqueness of the forgotten password
lo
☐ Check for blank password change .b
99
☐ Check for password change function with HTTP
th
☐ Ensure the other sessions got destroyed after the password change
sa
ra
/
om
☐ Test Traversal on the cookie parameter
t.c
2. Testing Traversal With Encoding
po
☐ Test Traversal with Base64 encoding
gs
☐ Test Traversal with URL encoding
lo
☐ Test Traversal with ASCII encoding
.b
☐ Test Traversal with HTML encoding
99
th
/
om
☐ Test for bypassing the security measures
t.c
☐ Test for forced browsing
po
☐ Test for IDOR
gs
☐ Test for parameter tampering to high privileged user
lo
7. Test For Insecure Direct Object Reference
.b
99
☐ Test to change the ID parameter
th
/
om
☐ Check for session cookies and cookie expiration date/time
t.c
☐ Check for session fixation
po
☐ Check for concurrent login
gs
☐ Check for session after logout
lo
☐ Check for session after closing the browser
.b
☐ Try decoding cookies (Base64, Hex, URL, etc)
99
th
/
om
☐ Check by comparing the CSRF tokens for multiple dummy accounts
t.c
☐ Check CSRF by interchanging POST with GET method
po
☐ Check CSRF by removing the CSRF token parameter
gs
☐ Check CSRF by removing the CSRF token and using a blank parameter
lo
☐ Check CSRF by using unused tokens .b
99
☐ Check CSRF by replacing the CSRF token with its own values
th
/
om
10. Test For Session Hijacking
t.c
☐ Test session hijacking on target that doesn’t has HSTS enabled
po
☐ Test by login with the help of captured cookies
gs
lo
INPUT VALIDATION TESTING .b
99
1. Test For Reflected Cross Site Scripting
th
☐ Test by replacing < and > with HTML entities < and >
ra
ip
/
om
☐ Test uploading a file with XSS payload as its file name
t.c
☐ Test with HTML tags
po
gs
3. Test For HTTP Parameter Pollution
☐ Identify the backend server and parsing method used
lo
☐ Try to access the injection point .b
99
☐ Try to bypass the input filters using HTTP Parameter Pollution
th
an
/
☐ Try SQL Injection with Boolean based SQL
om
☐ Try SQL Injection with Time based SQL
t.c
po
5. Test For LDAP Injection
gs
☐ Use LDAP search filters
lo
☐ Try LDAP Injection for access control bypass
.b
99
6. Testing For XML Injection
th
/
om
☐ Look for LFI keywords
☐ Try to change the local path
t.c
☐ Use LFI payload list
po
☐ Test LFI by adding a null byte at the end
gs
lo
11. Test For Remote File Inclusion
☐ Look for RFI keywords
.b
99
th
/
om
☐ Test for HHI by adding the target with a slash after the original values
t.c
☐ Test for HHI with other injections on the Host parameter
po
☐ Test for HHI by password reset poisoning
gs
15. Test For Server Side Reqest Forgery
lo
☐ Look for SSRF keywords .b
99
☐ Search for SSRF keywords only under the request header and body
th
/
om
WEAK CRYPTOGRAPHY TESTING
t.c
1. Test For Weak Transport Layer Security
po
☐ Test for DROWN weakness on SSLv2 protocol
gs
☐ Test for POODLE weakness on SSLv3 protocol
lo
☐ Test for BEAST weakness on TLSv1.0 protocol
.b
☐ Test for FREAK weakness on export cipher suites
99
th
☐ Ensure the digital certificates should have at least 2048 bits of key length
s:
☐ Ensure the digital certificates should have at least SHA - 256 signature
tp
algorithm
ht
☐ Ensure the digital certificates should not use MDF and SHA - 1
☐ Ensure the validity of the digital certificate
☐ Ensure the minimum key length requirements
☐ Look for weak cipher suites
BUSINESS LOGIC TESTING
/
om
☐ Test by modifying the payments
☐ Test for parameter tampering
t.c
po
2. Test For Malicious File Upload
gs
☐ Test malicious file upload by uploading malicious files
lo
☐ Test malicious file upload by putting your IP address on the file name
.b
☐ Test malicious file upload by right to left override
99
th
☐ Test malicious file upload by Inserting the payload inside of an image by the
ht
bmp.pl tool
☐ Test malicious file upload by uploading large files (leads to DOS)
CLIENT SIDE TESTING
/
om
☐ Test for URL redirection on domain parameters
t.c
☐ Test for URL redirection by using a payload list
po
☐ Test for URL redirection by using a whitelisted word at the end
gs
☐ Test for URL redirection by creating a new subdomain with the same as the
lo
target
☐ Test for URL redirection by XSS .b
99
☐ Test for URL redirection by profile URL flaw
th
an
/
om
☐ Try to bypass rate limiting by adding HTTP headers twice
☐ Try to bypass rate limiting by adding Origin headers
t.c
☐ Try to bypass rate limiting by IP rotation
po
☐ Try to bypass rate limiting by using null bytes at the end
gs
☐ Try to bypass rate limiting by using race conditions
lo
.b
99
2. Test For EXIF Geodata
th
/
om
☐ Try to bypass 2FA by changing the email or password
t.c
☐ Try to bypass 2FA by using a null or empty entry
po
☐ Try to bypass 2FA by changing the boolean into false
gs
☐ Try to bypass 2FA by removing the 2FA parameter on the request
lo
6. Test For Weak OTP Implementation .b
99
☐ Try to bypass OTP by entering the old OTP
th