Phase 3 - Attack Surface Mapping
1. Map applications and sub-applications¶
- [ ] Find all apps and separate areas under the domain
Also check subdomains from your earlier recon — each may host a separate app.
2. Map authentication boundaries¶
- [ ] Find where login is required vs. public
3. Identify user roles¶
- [ ] Work out the different permission levels (user, admin, guest)
Look for role hints in the app: signup options, account types, and paths like /admin, /dashboard, /user.
4. Identify administrative functionality¶
- [ ] Find admin panels and privileged features
Common guesses: /admin, /administrator, /wp-admin, /manage, /console, /panel.
5. Identify API endpoints¶
- [ ] Map all API routes
Pull endpoints from JS files too:
cat jsfiles.txt | while read u; do curl -s $u | grep -Eo "/[a-zA-Z0-9_/-]*api[a-zA-Z0-9_/-]*"; done | sort -u
6. Identify upload functionality¶
- [ ] Find file upload points (common vuln spot)
Also search page forms for type="file".
7. Identify download functionality¶
- [ ] Find download features (path traversal / LFI risk)
8. Identify import functionality¶
- [ ] Find import features (CSV, XML, etc.)
9. Identify export functionality¶
- [ ] Find export features (data leak / injection spots)
10. Identify search functionality¶
- [ ] Find search boxes and search endpoints
11. Identify integrations¶
- [ ] Find connections to third-party services
12. Identify webhooks¶
- [ ] Find webhook endpoints (SSRF risk)
13. Identify redirects¶
- [ ] Find redirect parameters (open redirect risk)
14. Identify URL processing functionality¶
- [ ] Find features that fetch or process URLs (SSRF risk)
Quick flow (copy-paste order)¶
katana -u https://onetec.com -d 5 -o crawl.txt
cat crawl.txt | httpx -sc -title -o live_endpoints.txt
cat crawl.txt | grep -iE "api|graphql|/v[0-9]" | sort -u > apis.txt
cat crawl.txt | grep -iE "upload|download|import|export" | sort -u > filefuncs.txt
cat urls.txt | grep -iE "redirect|url=|next=|dest=" | sort -u > redirects.txt