/web-pentest
Use when pentesting a web application or API — injection, XSS/CSP, SSRF/cloud-metadata, HTTP desync & cache poisoning, SSTI/prototype-pollution/deserialization, JWT/OAuth/GraphQL/IDOR, business logic & single-packet race
$ npx -y skills add hypnguyen1209/offensive-claude --skill web-pentest --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/web-pentest
Context preview
The summary Claude sees to decide when to auto-load this skill.
Use when pentesting a web application or API — injection, XSS/CSP, SSRF/cloud-metadata, HTTP desync & cache poisoning, SSTI/prototype-pollution/deserialization, JWT/OAuth/GraphQL/IDOR, business logic & single-packet race
SKILL.md
web-pentest.SKILL.mdname: web-pentest
description: Use when pentesting a web application or API — injection, XSS/CSP, SSRF/cloud-metadata, HTTP desync & cache poisoning, SSTI/prototype-pollution/deserialization, JWT/OAuth/GraphQL/IDOR, business logic & single-packet race
metadata:
type: offensive
phase: exploitation
tools: burpsuite, sqlmap, ffuf, feroxbuster, nuclei, httpx, curl, wfuzz, dalfox, commix, jwt_tool, ysoserial, http-request-smuggler
mitre: [T1190, T1059, T1552.005, T1078, T1539, T1505.003]
kill_chain:
phase: [delivery, exploit]
step: [3, 4]
attck_tactics: [TA0001, TA0002]
attck_techniques: [T1190, T1059.007, T1552.005, T1078, T1539, T1505.003, T1557]
depends_on: [recon-osint, vulnerability-analysis]
feeds_into: [exploit-development, cloud-security, network-attack]
inputs: [attack_surface_map, technology_fingerprint]
outputs: [finding_record, web_vulnerability_list]
references:
- references/injection-sqli-cmdi.md
- references/xss-csp-clientside.md
- references/ssrf-cloud-metadata.md
- references/http-desync-cache.md
- references/ssti-deserialization.md
- references/auth-api-access-control.md
- references/proxy-mcp-integration.md
scripts:
- scripts/desync_probe.py
- scripts/jwt_forge.py
- scripts/ssrf_toolkit.py
- scripts/proto_ssti_gadgets.py
- scripts/graphql_audit.py
- scripts/race_single_packet.py
- scripts/xss_csp_forge.py
Web Application Penetration Testing
When to Activate
- Web application security assessment (black/grey/white box)
- API security testing (REST, GraphQL, WebSocket)
- Authentication & session management testing (JWT, OAuth/OIDC, SAML)
- Business-logic and race-condition hunting
- WAF/CSP bypass, filter evasion, and CDN-layer attacks (desync, cache)
- Validating modern 2024-2026 vectors: HTTP/1.1 desync (0.CL/TE.0), SSRF->cloud
metadata, prototype-pollution->RCE, SSTI sandbox escapes
Input-Signal Routing (what to test when you see X)
Fast test selection — map an observed parameter/behavior to the right deep-dive:
| Input signal you observe | Test for | Go to | |--------------------------|----------|-------| | `id`, `uid`, `order_id`, `account`, GUID/sequential ref | IDOR/BOLA, access control | references/auth-api-access-control.md | | `url`, `next`, `callback`, `dest`, `webhook`, `image_url` | SSRF + cloud metadata, open redirect, OAuth chain | references/ssrf-cloud-metadata.md | | `price`, `qty`, `coupon`, `balance`, `status`, state change | business logic + single-packet race | references/http-desync-cache.md (race) | | template/preview/name reflected in output | SSTI -> RCE, reflected XSS | references/ssti-deserialization.md | | search/filter/sort reflected; `q=`, error echoes input | SQLi, XSS, command injection | references/injection-sqli-cmdi.md | | `token`, `jwt`, `Authorization`, `Cookie`, OAuth `state` | JWT forgery, session/OAuth flaws | references/auth-api-access-control.md | | serialized blob / base64 object / `__proto__` | deserialization, prototype pollution | references/ssti-deserialization.md | | behind CDN/cache; `X-Forwarded-*`; keyed params | desync (0.CL/TE.0), cache poisoning | references/http-desync-cache.md |
Technique Map
| Technique | ATT&CK | CWE | Reference | Script | |-----------|--------|-----|-----------|--------| | SQL injection (UNION/blind/NoSQL) | T1190 | CWE-89 | references/injection-sqli-cmdi.md | scripts/ssrf_toolkit.py (probe pattern) / sqlmap | | OS command / argument injection | T1059 | CWE-78 / CWE-88 | references/injection-sqli-cmdi.md | - | | Reflected/stored/DOM XSS | T1059.007 | CWE-79 | references/xss-csp-clientside.md | scripts/xss_csp_forge.py | | CSP bypass / script gadgets | T1059.007 | CWE-1021 | references/xss-csp-clientside.md | scripts/xss_csp_forge.py | | Client-side prototype pollution -> XSS | T1059.007 | CWE-1321 | references/xss-csp-clientside.md | scripts/xss_csp_forge.py | | SSRF + cloud metadata theft | T1552.005 | CWE-918 | references/ssrf-cloud-metadata.md | scripts/ssrf_toolkit.py | | IMDSv2 bypass (Axios gadget) | T1552.005 | CWE-113 | references/ssrf-cloud-metadata.md | scripts/proto_ssti_gadgets.py | | HTTP request smuggling / desync | T1190 | CWE-444 | references/http-desync-cache.md | scripts/desync_probe.py | | Web cache poisoning / deception | T1557 | CWE-525 | references/http-desync-cache.md | scripts/desync_probe.py | | SSTI -> RCE (Jinja2/Twig/FM/...) | T1059 | CWE-1336 | references/ssti-deserialization.md | scripts/proto_ssti_gadgets.py | | Server-side prototype pollution -> RCE | T1059 | CWE-1321 | references/ssti-deserialization.md | scripts/proto_ssti_gadgets.py | | Insecure deserialization (Java/.NET/PHP) | T1059 | CWE-502 | references/ssti-deserialization.md | ysoserial / ysoserial.net | | JWT forgery (none/confusion/jku/jwk/kid) | T1078 | CWE-347 | references/auth-api-access-control.md | scripts/jwt_forge.py | | OAuth/OIDC/SAML auth bypass | T1078 | CWE-287 | references/auth-api-access-control.md | scripts/jwt_forge.py | | GraphQL abuse (batch/alias/depth) | T1190 | CWE-770 | references/auth-api-access-control.md | scripts/graphql_audit.py | | IDOR / BOLA / mass assignment | T1078 | CWE-639 / CWE-915 | references/auth-api-access-control.md | - | | Race condition (single-packet) | T1190 | CWE-362 | references/auth-api-access-control.md | scripts/race_single_packet.py |
Quick Start
# 0. Intake from recon-osint: hosts, tech fingerprint, endpoints, params.
# Spider + content discovery
ffuf -u https://t/FUZZ -w raft-large.txt -mc all -fc 404 -o ffuf.json
nuclei -u https://t -severity critical,high -tags cve,exposure,misconfig
# 1. Injection — automated SQLi, manual cmdi
sqlmap -r request.txt --batch --level 3 --risk 2 --tamper=between,space2comment
# 2. XSS / CSP
python3 scripts/xss_csp_forge.py contexts --collector atk.tld
python3 scripts/xss_csp_forge.py csp "$(curl -sI https://t | grep -i content-security)"
# 3. SSRF -> cloud metadata
python3 scripts/ssrf_toolkit.py probe "https://t/api/fetch?url=FUZZ" --c
Read more
name: web-pentest description: Use when pentesting a web application or API — injection, XSS/CSP, SSRF/cloud-metadata, HTTP desync & cache poisoning, SSTI/prototype-pollution/deserialization, JWT/OAuth/GraphQL/IDOR, business logic & single-packet race metadata: type: offensive phase: exploitation tools: burpsuite, sqlmap, ffuf, feroxbuster, nuclei, httpx, curl, wfuzz, dalfox, commix, jwt_tool, ysoserial, http-request-smuggler mitre: [T1190, T1059, T1552.005, T1078, T1539, T1505.003] kill_chain: phase: [delivery, exploit] step: [3, 4] attck_tactics: [TA0001, TA0002] attck_techniques: [T1190, T1059.007, T1552.005, T1078, T1539, T1505.003, T1557] depends_on: [recon-osint, vulnerability-analysis] feeds_into: [exploit-development, cloud-security, network-attack] inputs: [attack_surface_map, technology_fingerprint] outputs: [finding_record, web_vulnerability_list] references: - references/injection-sqli-cmdi.md - references/xss-csp-clientside.md - references/ssrf-cloud-metadata.md - references/http-desync-cache.md - references/ssti-deserialization.md - references/auth-api-access-control.md - references/proxy-mcp-integration.md scripts: - scripts/desync_probe.py - scripts/jwt_forge.py - scripts/ssrf_toolkit.py - scripts/proto_ssti_gadgets.py - scripts/graphql_audit.py - scripts/race_single_packet.py - scripts/xss_csp_forge.py
Web Application Penetration Testing
When to Activate
- Web application security assessment (black/grey/white box)
- API security testing (REST, GraphQL, WebSocket)
- Authentication & session management testing (JWT, OAuth/OIDC, SAML)
- Business-logic and race-condition hunting
- WAF/CSP bypass, filter evasion, and CDN-layer attacks (desync, cache)
- Validating modern 2024-2026 vectors: HTTP/1.1 desync (0.CL/TE.0), SSRF->cloud
metadata, prototype-pollution->RCE, SSTI sandbox escapes
Input-Signal Routing (what to test when you see X)
Fast test selection — map an observed parameter/behavior to the right deep-dive:
| Input signal you observe | Test for | Go to | |--------------------------|----------|-------| | `id`, `uid`, `order_id`, `account`, GUID/sequential ref | IDOR/BOLA, access control | references/auth-api-access-control.md | | `url`, `next`, `callback`, `dest`, `webhook`, `image_url` | SSRF + cloud metadata, open redirect, OAuth chain | references/ssrf-cloud-metadata.md | | `price`, `qty`, `coupon`, `balance`, `status`, state change | business logic + single-packet race | references/http-desync-cache.md (race) | | template/preview/name reflected in output | SSTI -> RCE, reflected XSS | references/ssti-deserialization.md | | search/filter/sort reflected; `q=`, error echoes input | SQLi, XSS, command injection | references/injection-sqli-cmdi.md | | `token`, `jwt`, `Authorization`, `Cookie`, OAuth `state` | JWT forgery, session/OAuth flaws | references/auth-api-access-control.md | | serialized blob / base64 object / `__proto__` | deserialization, prototype pollution | references/ssti-deserialization.md | | behind CDN/cache; `X-Forwarded-*`; keyed params | desync (0.CL/TE.0), cache poisoning | references/http-desync-cache.md |
Technique Map
| Technique | ATT&CK | CWE | Reference | Script | |-----------|--------|-----|-----------|--------| | SQL injection (UNION/blind/NoSQL) | T1190 | CWE-89 | references/injection-sqli-cmdi.md | scripts/ssrf_toolkit.py (probe pattern) / sqlmap | | OS command / argument injection | T1059 | CWE-78 / CWE-88 | references/injection-sqli-cmdi.md | - | | Reflected/stored/DOM XSS | T1059.007 | CWE-79 | references/xss-csp-clientside.md | scripts/xss_csp_forge.py | | CSP bypass / script gadgets | T1059.007 | CWE-1021 | references/xss-csp-clientside.md | scripts/xss_csp_forge.py | | Client-side prototype pollution -> XSS | T1059.007 | CWE-1321 | references/xss-csp-clientside.md | scripts/xss_csp_forge.py | | SSRF + cloud metadata theft | T1552.005 | CWE-918 | references/ssrf-cloud-metadata.md | scripts/ssrf_toolkit.py | | IMDSv2 bypass (Axios gadget) | T1552.005 | CWE-113 | references/ssrf-cloud-metadata.md | scripts/proto_ssti_gadgets.py | | HTTP request smuggling / desync | T1190 | CWE-444 | references/http-desync-cache.md | scripts/desync_probe.py | | Web cache poisoning / deception | T1557 | CWE-525 | references/http-desync-cache.md | scripts/desync_probe.py | | SSTI -> RCE (Jinja2/Twig/FM/...) | T1059 | CWE-1336 | references/ssti-deserialization.md | scripts/proto_ssti_gadgets.py | | Server-side prototype pollution -> RCE | T1059 | CWE-1321 | references/ssti-deserialization.md | scripts/proto_ssti_gadgets.py | | Insecure deserialization (Java/.NET/PHP) | T1059 | CWE-502 | references/ssti-deserialization.md | ysoserial / ysoserial.net | | JWT forgery (none/confusion/jku/jwk/kid) | T1078 | CWE-347 | references/auth-api-access-control.md | scripts/jwt_forge.py | | OAuth/OIDC/SAML auth bypass | T1078 | CWE-287 | references/auth-api-access-control.md | scripts/jwt_forge.py | | GraphQL abuse (batch/alias/depth) | T1190 | CWE-770 | references/auth-api-access-control.md | scripts/graphql_audit.py | | IDOR / BOLA / mass assignment | T1078 | CWE-639 / CWE-915 | references/auth-api-access-control.md | - | | Race condition (single-packet) | T1190 | CWE-362 | references/auth-api-access-control.md | scripts/race_single_packet.py |
Quick Start
# 0. Intake from recon-osint: hosts, tech fingerprint, endpoints, params. # Spider + content discovery ffuf -u https://t/FUZZ -w raft-large.txt -mc all -fc 404 -o ffuf.json nuclei -u https://t -severity critical,high -tags cve,exposure,misconfig # 1. Injection — automated SQLi, manual cmdi sqlmap -r request.txt --batch --level 3 --risk 2 --tamper=between,space2comment # 2. XSS / CSP python3 scripts/xss_csp_forge.py contexts --collector atk.tld python3 scripts/xss_csp_forge.py csp "$(curl -sI https://t | grep -i content-security)" # 3. SSRF -> cloud metadata python3 scripts/ssrf_toolkit.py probe "https://t/api/fetch?url=FUZZ" --c
A spec-driven offensive security framework for Claude Code — structured engagement workflows based on the Cyber Kill Chain, 31 kill-chain skills (multi-file progressive-disclosure) plus a discipline layer (a SessionStart dispatcher + 6 process/discipline
Repo: hypnguyen1209/offensive-claude
Other skills on offensive-claude.
- /active-directory-attack
Use when attacking a Windows Active Directory domain — Kerberos roasting/delegation, coercion + NTLM/Kerberos relay (CVE-2025-33073), ADCS ESC1-16 (EKUwu), ticket forgery & DCSync, dMSA BadSuccessor (CVE-2025-53779), BloodHound attack-path enumeration, domain dominance
Open skill - /advanced-redteam
--- name: advanced-redteam-ops description: Use when designing C2 infrastructure or OPSEC for a long-haul red-team op — redirectors, malleable profiles, tiered/segregated infra, living-off-the-land, data exfiltration metadata: type: offensive phase: operations kill_chain: phase:
Open skill - /ai-agent-redteam
Use when red-teaming an agentic AI / LLM application — indirect & zero-click prompt injection, MCP tool poisoning, persistent memory poisoning, excessive-agency tool abuse, multi-turn jailbreaks, PyRIT/Garak/Promptfoo harnesses
Open skill - /ai-security
Use when attacking an AI/ML system or model — prompt injection & jailbreaks (Crescendo, Skeleton Key, Best-of-N), RAG/vector poisoning, agentic/MCP exploitation (CVE-2025-54136), ML supply-chain RCE (pickle CVE-2025-32434), model extraction / membership inference / adversarial
Open skill - /browser-exploitation
Use when building a client-side browser exploit — V8/JSC JIT type confusion to renderer R/W, V8 heap-sandbox escape, renderer-to-browser sandbox escape (Mojo IPC, GPU/Dawn/ANGLE), Electron/webview IPC abuse, 1-click RCE chains
Open skill - /cicd-supply-chain
Use when attacking or auditing a CI/CD pipeline or software supply chain — pwn requests, poisoned pipeline execution, compromised/mutable-tag actions, dependency confusion, registry worms, runner backdoors, OIDC trust abuse, SLSA/provenance
Open skill

