复现作者的测试:Claude-BugHunter的CVE验证实验室与Playwright浏览器自动化实战指南
复现作者的测试Claude-BugHunter的CVE验证实验室与Playwright浏览器自动化实战指南【免费下载链接】Claude-BugHunterA Claude Code skill bundle for bug hunting and external red-team work - 82 skills, 15 slash commands, 681 disclosed-report patterns curated across 24 core vulnerability classes, plus enterprise identity infrastructure attack matrices.项目地址: https://gitcode.com/gh_mirrors/cl/Claude-BugHunterClaude-BugHunter 是一个面向漏洞挖掘与外部红队工作的 Claude Code 技能包82 个技能、15 条斜杠命令覆盖 24 类核心漏洞的 681 条公开报告模式。但技能库的能力不能只靠文档吹出来——作者在 docs/verification/ 目录下搭建了一整套可复现的 CVE 验证实验室和Playwright 浏览器自动化测试把技能说能打的漏洞一条条在真实目标上打穿并如实记录通过或失败的结果。本文将带你完整复现作者的测试理解这套诚实验证的打法。为什么要有 CVE 验证实验室新手常问技能文件写得再详细怎么知道它真能派上用场作者的答案是每条结论都要有真实目标、真实响应、真实判定。所有验证文档都遵循统一的记录模板记录项说明初始提示新手会输入什么样的问题自动触发的技能描述字段如何匹配到对应hunt-*技能引用的技术直接摘自技能文档的 payload 或手法真实攻击结果目标返回的实际 HTTP 响应通过或失败诚实判定明确写出 PASS / 失败 / 需要修正这套文档就在 docs/verification/每个实验都附可复制的命令和最小化目标源码任何人都能一键重跑。快速开始三个真实 CVE 实验室CVE 复现全部基于 Docker 容器vulhub 镜像不碰任何真实生产系统新手也能放心练手。1. Apache 路径遍历CVE-2021-41773目标是一台 Apache 2.4.49 容器。利用 alias 路径的规范化缺陷先用编码路径读取/etc/passwd文件泄露再借助/cgi-bin/的Options ExecCGI把文件读取升级为远程命令执行。git clone --depth 1 https://github.com/vulhub/vulhub.git /tmp/vulhub cd /tmp/vulhub/httpd/CVE-2021-41773 docker-compose up -d --build完整记录见 apache-cve-2021-41773.md。作者在验证中还发现技能库的短板hunt-rce技能会给出编码绕过家族../→..%2F→%2e%2e%2f方向正确但缺少只针对 2.4.49 特定版本必须走 alias 路径这类版本级细节——这正是验证实验的价值技能知道怎么打实验室补上打哪里。2. Jenkins 2. Jenkins 未授权文件读取CVE-2024-23897CI/CD 服务器是红队的重灾区源码仓库、云密钥、kubeconfig 都在上面。Jenkins LTS 2.441 的 CLI 工具存在 args4j前缀参数展开缺陷未认证即可用/etc/passwd这样的参数读取任意文件该 CVE 当年迅速进入 CISA KEV 利用目录。目标同样一行命令拉起vulhub/jenkins:2.441容器映射端口后下载官方jenkins-cli.jar即可复现。详见 jenkins-cve-2024-23897.md。3. Spring Cloud Function SpEL 注入CVE-2022-22963Spring 系微服务的老熟人。攻击点不在 URL 参数里而是藏在请求头spring.cloud.function.routing-expression中——服务器会把头里的 SpEL 表达式直接求值一条 curl 就能在容器内以 root 执行命令。交付向量哪个端点、哪个头正是新手最容易卡住的 30 分钟而实验文档把它完整写了出来。见 spring-cve-2022-22963.md。 三个 CVE 实验的共同模式先grep技能库它知道什么再列出它不知道什么最后给出真实利用。这种先自曝缺口、再现场验证的写法比纯炫技的写穿更有参考价值。自研实验台Phase 2E ~ 2J 与诚实判定除了真实 CVE作者还在 docs/verification/ 里用最小化 Flask 应用搭了一系列自研实验台每个实验台只内置一两个故意埋的漏洞用于验证对应技能能否打穿实验台覆盖漏洞类技能验证文档phase2e-labJWTalgnone、GraphQL IDOR、优惠券竞态条件hunt-api-misconfig/hunt-graphql/hunt-race-conditionphase2e-jwt-graphql-race.mdphase2f-labSSTI、OAuth 绕过、文件上传对应hunt-*phase2f-ssti-oauth-fileupload.mdphase2g-labSAML、MFA 绕过、XXE对应hunt-*phase2g-saml-mfa-xxe.mdphase2h-labHTTP 请求走私、缓存投毒Nginx 源站双容器对应hunt-*phase2h-smuggling-cachepoison.mdphase2i-labLLM 驱动的账户接管ATO链对应hunt-*phase2i-llm-ato.mdLocalStack 云实验公开 S3 桶、IAM 提权链hunt-cloud-misconfig/cloud-iam-deepphase2j-cloud-localstack.md还有一个反直觉的亮点hardened-lab加固实验室。它内置真实防御预处理语句、输出编码、限流和一堆长得像漏洞其实不是的行为专门考验技能库会不会误报。结果 8/8 测试都触发了正确的纪律规则——每一个假阳性被拦截每一个真漏洞被抓出。完整规则见 hardened-lab-discipline-rules.md。进阶Playwright 浏览器自动化把验证做到执行层前几轮实验有个盲区很多验证只停留在源码里有这个漏洞点source-verified没有在真实浏览器里执行 payload。Phase 3.1 用 Playwright 无头 Chromium 补上了这一课测试台和自动化脚本都随仓库提供目标应用docs/verification/phase3-playwright/target_app.py——一个最小 Flask 应用内置 DOM XSS 和 OAuth 前缀校验两个漏洞端点自动化脚本docs/verification/phase3-playwright/harness.pypip install flask playwright playwright install chromium python target_app.py # 启动目标 python harness.py # 运行浏览器自动化测试测试 28a/28bDOM XSS 真正跑起来28a用img srcx onerroralert(...)注入 URL hash脚本监听弹窗事件——无头 Chromium 真的弹出了 alert说明 JS 在浏览器内执行了28b更实用payload 写入window变量脚本再读回该变量。这个window 变量副作用模式可以穿越同源内的多次导航是验证存储型 XSS 的黄金模式。测试 29一次漂亮的打脸式修正最有价值的其实是 Phase 3.1 推翻了 Phase 2F 的一处过度宣称。此前文档声称对带尾斜杠的前缀白名单https://acme.example/提交redirect_urihttps://acme.example/evil.attacker.example/能把授权码带到攻击者域名。Playwright 实测结果尾斜杠前缀下不成立——URL 里://后第一个/之后的所有内容都是路径被浏览器当普通路径字符授权码留在了acme.example无前缀尾斜杠时才成立——此时位于 authority 段浏览器把localhost:58020解析成 userinfo、把evil.attacker.example当成真正的 host 发起请求服务端startswith()字符串校验又恰好放行——完整 ATO 链路在浏览器中真实复现。结论被写回文档并同步更新了 skills/hunt-oauth/SKILL.md服务端前缀校验缺陷只是必要条件声称 OAuth → ATO 之前必须用无头浏览器实测最终跳转。全部测试记录见 phase3-playwright-browser-execution.md。这个浏览器自动化框架还能继续用于存储型 XSS 确认、开放重定向链、CSRF token 绑定、DOM 污染、XSS 后读 Cookie 等场景。更进一步eval 评测框架与复现建议验证文档之外仓库还有一套自动化评测框架 eval/用无头 Claude Code 代理攻击自评分目标OWASP Juice Shop 通过/api/Challenges自动判分PortSwigger 实验室通过状态组件判分对比启用技能 vs 关闭技能的解题率、回合数与成本。2026-08-25 的基线数据见 eval/BASELINE.md——其中也诚实地记录了Juice Shop 已被模型记住存在天花板效应这类测量局限。复现建议按顺序来每一步都有文档可查热身跑 phase2e-lab 等自研实验台熟悉提示 → 技能触发 → 攻击 → 判定的完整闭环CVE 复现用 Docker 依次拉起 Apache、Jenkins、Spring 三个 CVE 环境浏览器层安装 Playwright跑 phase3-playwright 的 harness体会执行层验证与源码层验证的差别防误报跑 hardened-lab看看技能库的纪律规则如何拦截假阳性。⚠️ 纪律提醒所有实验只针对本地自建、你拥有授权的易受攻击环境。验证框架 eval/README.md 中同样强调这一点——对未授权目标下手是红线。小结Claude-BugHunter 最值得新手学习的不只是 82 个技能本身而是 docs/verification/ 里这套验证方法论可复现每个实验台都有最小化源码和一键启动命令诚实判定PASS、失败、甚至作者自己错了都如实写进文档分层验证HTTP 层打穿 → 浏览器执行层确认 → 加固实验室防误报层层加码缺口驱动CVE 实验同时暴露技能库盲区缺版本细节、缺 CVE 编号反哺 skills/ 内容更新。配合 docs/cve-coverage.md 与 docs/architecture.md你可以完整看懂这个技能包声称什么、验证了什么、还差什么。【免费下载链接】Claude-BugHunterA Claude Code skill bundle for bug hunting and external red-team work - 82 skills, 15 slash commands, 681 disclosed-report patterns curated across 24 core vulnerability classes, plus enterprise identity infrastructure attack matrices.项目地址: https://gitcode.com/gh_mirrors/cl/Claude-BugHunter创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联
返回资讯列表 →