← ClaudeAtlas

bounty-apilisted

Use when bug-bountying an API target — REST, GraphQL, gRPC, WebSocket. Covers OWASP API Top 10 (BOLA, BFLA, mass assignment, rate limiting bypass, JWT issues, GraphQL abuse). Triggers on "bounty api", "graphql security", "rest api testing", "api top 10".
26zl/cybersec-toolkit · ★ 6 · API & Backend · score 73
Install: claude install-skill 26zl/cybersec-toolkit
# Bug bounty API testing ## 1. Discover the API ```bash # Mobile app reverse → APK / IPA → look for endpoints # JS bundle inspection katana -u https://target.com -jc -silent | grep -E "/api/|/v1/|/graphql" LinkFinder -i https://target.com/app.js -o cli # Common paths ffuf -w api-paths.txt -u https://target.com/FUZZ -mc 200,401,403 # /api, /api/v1, /v1, /graphql, /rest, /rpc, /swagger.json, /openapi.json, # /api-docs, /redoc, /docs, /.well-known/ # Schema endpoints (huge if found) curl https://target.com/swagger.json curl https://target.com/openapi.json curl -X POST https://target.com/graphql -d '{"query":"{__schema{types{name}}}"}' ``` If you find a swagger/openapi/graphql introspection — that IS the attack surface map. Use `kiterunner` to brute API routes if not. ## 2. OWASP API Top 10 — checklist per endpoint ### API1: Broken Object Level Authorization (BOLA) For every endpoint with an ID: ```bash # Login as user A. Get user B's resource. curl -H "Authorization: Bearer $A_TOKEN" https://api/users/$B_ID ``` Try: numeric→numeric swap, UUID enumeration via Wayback/JS, encoded ID decoding. ### API2: Broken Authentication - Missing / weak JWT verification - Token reuse after logout - Refresh-token abuse - Hardcoded API keys in mobile bundles ### API3: Broken Object Property Level (Mass Assignment + Excessive Data Exposure) Mass assignment: ```bash # Sign-up sends: {"email": "...", "password": "..."} # Try: {"email": "...", "password": "...", "is_admin": true, "rol