Skip to content

Multi-CVE Chain Playbook(多 CVE 组合联合利用) ​

世界级 Web CTF 中,单个 CVE 往往只是一个 primitive。真正的突破通常来自组合:

text
fingerprint -> CVE candidates -> primitive mapping -> chain hypothesis -> staged validation -> flag

1. Primitive 分类 ​

Primitive典型 CVE 信号可组合价值
info_leak信息泄露、debug、config exposure拿 secret、版本、内网地址
file_readLFI、path traversal、XXE读取配置/源码/密钥
ssrfSSRF、URL fetch、webhook打内网服务、metadata、admin panel
auth_bypass鉴权绕过、越权、tenant bypass进入后台或高权限 API
xssadmin bot、stored/reflected XSS借管理员上下文触发后台功能
sqli/nosqliSQL/NoSQL injection凭据、session、数据泄露
file_write_upload上传/任意写/zip slip落脚本、覆盖配置
rce命令注入、SSTI、反序列化、代码注入最终执行或 flag 读取

2. 常见组合模式 ​

A. Info Leak -> Auth Bypass -> RCE ​

  1. CVE-1 泄露 .env / config / JWT secret / API key。
  2. CVE-2 用 secret 伪造 token 或绕过权限。
  3. CVE-3 在后台触发 RCE、插件安装、模板编辑、任务执行。

B. File Read -> Secret -> RCE ​

  1. 任意文件读拿配置。
  2. 读取数据库密码、Redis 密码、JWT secret、Spring actuator token。
  3. 进入管理面或签名 payload,触发 RCE。

C. SSRF -> Internal Service -> RCE ​

  1. SSRF 证明 DNS/HTTP/redirect/scheme 能力。
  2. 探测内网:127.0.0.1、Docker bridge、metadata、admin port。
  3. 对内网服务打第二个 CVE,例如 Redis、Solr、Elasticsearch、GeoServer、Jenkins。

D. XSS/Admin Bot -> Privileged Action -> RCE ​

  1. XSS 触发 admin bot。
  2. 读取 cookie/localStorage/CSRF token 或让管理员发起后台请求。
  3. 进入后台导入模板、插件、文件写入或 RCE CVE。

E. Upload/File Write -> Interpreter -> RCE ​

  1. 上传绕过或任意文件写。
  2. 找解析路径:JSP/PHP/模板/配置/cron。
  3. 与路径穿越、Nginx alias、Tomcat manager、Spring static path 组合。

3. AI 自动化命令 ​

powershell
# 查询多个 CVE
python scripts\ctf-website\cve_lookup.py CVE-2024-36401

# 从产品/版本指纹自动拉候选 CVE、生成图和链
python scripts\ctf-website\fingerprint_cve_pipeline.py --fingerprints cases\<case>\fingerprints.json

# 生成 CVE 关系图
python scripts\ctf-website\cve_graph.py --from-dir reports\ctf-website\cve --out reports\ctf-website\cve-graph

# 生成多 CVE 组合链候选
python scripts\ctf-website\cve_chain_planner.py --from-dir reports\ctf-website\cve --out reports\ctf-website\cve-chain

4. 验证纪律 ​

  • 先验证版本和前置条件,再验证 payload。
  • 每条链只改一个变量,避免把失败归因搞乱。
  • 链路中每个 primitive 都要有证据:request/response、截图、日志、文件内容、命令输出。
  • 不要因为 CVE 热门就盲打;目标组件必须真实存在且受影响。
  • 如果链路断在某一步,回到上一个已验证 primitive,不要继续假设后续成立。

5. Case 记录 ​

把链路写入:

  • cases/<case>/findings.md
  • cases/<case>/timeline.md
  • reports/ctf-website/<case>/

推荐模板:

  • templates/cases/cve-chain.md

MCP 工具映射 ​

AI Agent 可调用以下 MCP 工具自动完成或加速上述攻击步骤:

攻击步骤MCP 工具说明
CVE 链知识检索kb_router按多 CVE 链信号搜索知识库
漏洞验证探测http_probeHTTP GET 探测验证各 CVE 步骤

工作流 ​

产品与版本指纹 → 受影响范围核对 → 前置条件证明 → PoC 去噪适配 → 最小副作用验证 → 干净状态重放。

GPL-3.0 · 仅供授权环境下的学习与防御性研究使用