Skip to main content

pentest

实战黑盒 Web 渗透测试 / SRC / Bug bounty 工作流 skill。5 阶段 checkpoint 工作流(intake → recon → enum → hunt → report)+ 19 类攻击 playbook + 48 个可执行 Python 脚本(自动扫描/验证/报告)+ 305 payload + 263 WAF 绕过 + 2887 份 H1 真实案例 + 国产组件字典 + 银行/电信行业 playbook。 触发词:渗透测试、安全扫描、漏洞挖掘、bug bounty、SRC、hackerone、漏洞赏金、众测、任意X漏洞、WAF绕过、pentest

Jump to install

Source facts

Repository
wudidike/pentest_skill
Last source activity
August 12, 2026 at 16:16
Detected SKILL.md language
Chinese
Stars
27
Forks
6

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
pentest
description
实战黑盒 Web 渗透测试 / SRC / Bug bounty 工作流 skill。5 阶段 checkpoint 工作流(intake → recon → enum → hunt → report)+ 19 类攻击 playbook + 48 个可执行 Python 脚本(自动扫描/验证/报告)+ 305 payload + 263 WAF 绕过 + 2887 份 H1 真实案例 + 国产组件字典 + 银行/电信行业 playbook。 触发词:渗透测试、安全扫描、漏洞挖掘、bug bounty、SRC、hackerone、漏洞赏金、众测、任意X漏洞、WAF绕过、pentest
argument-hint
<target-or-program-or-phase>
level
2
# Pentest Skill — 实战漏洞挖掘工作流 这是一个**带强制 checkpoint 的工作流**,不是参考手册。每个阶段有 MUST 输出,未通过不进下一阶段。详细 payload / playbook / H1 案例**按需 Read**,不准凭记忆生成。 数据规模、目录树见 `README.md`,本文件只管"做什么 / 何时做 / 何时去读哪个文件"。 --- ## 触发条件 命中任一即进入: - "src 挖洞 / 漏洞赏金 / bug bounty / 众测 / hackerone / Security Response Center" - "如何挖 / 怎么测 / 怎么打 + 某目标 / 某接口 / 某参数" - "WAF 绕过 / 任意账号 / 任意修改 / 密码重置 / 未授权访问 / 默认凭据" - "渗透测试 / pentest / 安全扫描 / 漏洞验证" - 用户给一个 URL / API endpoint / APK 让你测 **不应触发**:纯白盒源码审计;漏洞修复问答;CTF。 --- ## 反幻觉硬约束(全程适用) 1. **不准凭记忆出 payload**。要给任何 payload 前,先 Read 对应 `references/playbooks/<type>.md`(或 `<type>/00-index.md` + 具体子文件)。payload 必须能在文件里查到出处。 2. **不准编造案例编号**。引用 H1 案例前必须 Read `references/h1-reports/by-weakness/` 下的实际文件。说不出文件路径就别引。 3. **无证据不下结论**。无 HTTP 包/截图时只能写"待验证",不写"已确认 / 发现漏洞"。 4. **出 scope 立即停**。资产不在 Phase 1 已确认的 in-scope → 立即停手,回 Phase 1 重核。 5. **差分证明**。盲注要真/假/baseline 三包;IDOR 要自己200+他人200+不存在404。 6. **合规红线**。SQLi 探到库名即停;IDOR 取1-3条样本;RCE 只跑 id/whoami;不真发短信/扣款。详见 `references/compliance.md`。 7. **报告必须含 PoC,双格式**。每个 finding 必须附可执行 PoC,且必须同时给两种格式: - **curl 格式**: 单条 `curl` 命令,复制到终端直接执行即可复现 (含完整 URL/Header/Body/参数) - **Burp 格式**: HTTP 原始请求报文 (请求行+头+空行+Body),复制粘贴到 Burp Repeater 即可发送 - 给不出 PoC 的 finding 不得写入报告 — 要么补证据,要么降级为"待验证"。 --- ## Phase 1 · Intake(接单) **进入条件**:用户首次给出目标 / 程序名 / URL。 **MUST 输出 checkpoint**(四项缺一不进 Phase 2): - [ ] **In-scope**:可测域名 / IP 段 / app / endpoint(逐条列) - [ ] **Out-of-scope**:禁测项(逐条列) - [ ] **规则**:payout tier / disclosure window / safe-harbor / 测试 header - [ ] **时间盒**:6h / 单日 / HVV / 月度 确认后写入 `config.yaml` 的 `target.scope`。**越界急停**:任何 Phase 中发现资产不在 in_scope → 立即停。 **仅当用户问"哪个最值得先测"** → Read `references/methodology/05-srctimebox-priority.md`。 --- ## Phase 2 · Recon(被动侦察) **进入条件**:Phase 1 checkpoint 四项全过。**禁止主动发包。** **MUST 输出**:不发包得到的资产清单 + 历史信息,来源 ≥3 种(CT日志/Wayback/GitHub dorks/FOFA/Shodan/SecurityTrails/ASN)。 --- ## Phase 3 · Enum(主动探测) **进入条件**:Phase 2 资产清单非空。 **MUST 输出**:活资产矩阵——`域 → 端口 → 服务 → 指纹 → JS endpoint`。 **自动化工具**(按需调用,非自动管道): - 指纹/WAF: `python scripts/phase0_fingerprint.py --target URL --output-dir DIR` - 页面渲染/JS提取: `python scripts/phase4_render.py --target URL --output-dir DIR` - 目录枚举: `python scripts/phase5_dir_enum.py --target URL --output-dir DIR` - JS深度分析: `python scripts/phase6_js_analysis.py --target URL --output-dir DIR` - 工具状态: `python scripts/tool_manager.py status` **条件触发 Read**(命中就必读): | 命中信号 | MUST Read | |---|---| | 指纹含 `weaver/seeyon/tongda/landray/yongyou/kingdee/hikvision/dahua` | `references/dictionaries/chinese-srcfingerprints.md` + `default-credentials-cn.md` | | 资产含 银行/支付/网银 | `references/industry/banking-finance.md` | | 资产含 运营商/BOSS/网管 | `references/industry/telecom-isp.md` | **方法论 Checkpoint(每次必走,不进 Phase 4 不得跳过)**: 1. Read `references/methodology/01-attack-priority.md`(攻击优先级) 2. 按 §9 Checkpoint 输出**攻击面优先级清单**:候选攻击面四维评分 + P0/P1 排序 + 升级链 + 对应探针 3. 时间盒明确时,额外 Read `references/methodology/05-srctimebox-priority.md` 按 §6 输出时间盒计划 4. 读完后把优先级清单作为 Phase 4 的候选目标顺序 --- ## Phase 4 · Hunt(漏洞探测) **进入条件**:Phase 3 矩阵 ≥1 个候选目标。 **强制流程(每个候选目标走一遍)**: 1. 看目标信号,从下表选 playbook 2. **Read 该 playbook**(不准跳过、不准凭记忆替代) 3. 按 playbook 的参数频率表挑入口 4. 按 playbook 的 payload 库探测——payload 来自文件,不来自记忆 5. 被 WAF 拦 → Read `references/methodology/02-bypass-toolkit.md` 并按 §Checkpoint 输出绕过记录 6. 卡壳/找不到漏洞点 → Read `references/methodology/04-control-gap-hunting.md` 并按 §Checkpoint 输出控制缺口清单 7. 命中后保存 HTTP 包, Read `references/methodology/03-evidence-discipline.md` 按 §Checkpoint 核对证据(三包/原貌/复现率) → 进 Phase 5 | 入口信号 | MUST Read | 自动化脚本(按需) | |---|---|---| | Actuator/Swagger/弱密码 | `playbooks/unauth-access.md` | — | | .git/.svn/.env/heapdump | `playbooks/info-disclosure.md` | — | | ID 可遍历/任意X越权 | `playbooks/arbitrary-x-authz.md` | `phase7b_auth_vuln.py` | | 密码重置/支付/验证码 | `playbooks/logic-flaws/00-index.md` | `phase7n_logic_vuln.py` | | OAuth/SAML/JWT | `playbooks/oauth-saml-jwt/00-index.md` | `phase7o_jwt_vuln.py` | | REST API/BOLA/Mass Assignment | `playbooks/api-rest/00-index.md` | `phase7b_auth_vuln.py` | | 用户输入进 DB | `playbooks/sqli.md` | `phase7d_sqli_verify.py` | | 反序列化/SSTI/XXE/框架RCE | `playbooks/rce/00-index.md` | `phase7k_deser_vuln.py` / `phase7i_ssti_vuln.py` / `phase7j_xxe_vuln.py` | | URL入参/缓存/Host注入 | `playbooks/ssrf-cache-host/00-index.md` | `phase7h_ssrf_vuln.py` | | 文件路径入参/LFI/RFI | `playbooks/path-traversal/00-index.md` | — | | 上传点+解析漏洞 | `playbooks/file-upload/00-index.md` | `phase7l_upload_vuln.py` | | 用户输入回显HTML/JS | `playbooks/xss/00-index.md` | `phase7m_param_fuzz.py` | | 反代+CL/TE | `playbooks/http-smuggling.md` | `phase7q_smuggling_vuln.py` | | GraphQL endpoint | `playbooks/graphql.md` | `phase7p_graphql_vuln.py` | | 并发/TOCTOU | `playbooks/race-conditions.md` | — | | ReDoS/资源不限速 | `playbooks/dos.md` | — | | APK/IPA/移动端 | `playbooks/mobile.md` | — | | LLM agent/prompt | `playbooks/llm-prompt-injection/00-index.md` | — | | 已拿shell/内网 | `playbooks/intranet-postexp/00-index.md` | — | | 命令注入 | (rce/ 子文件) | `phase7g_cmdi_vuln.py` | | 框架漏洞(Log4j/Shiro/Fastjson) | (rce/ 子文件) | `phase7f_framework_vuln.py` | | 参数Fuzz(XSS/SQLi/SSTI/SSRF) | (对应 playbook) | `phase7m_param_fuzz.py` | | 403/401绕过 | (对应 playbook + methodology/02) | `phase7r_bypass_vuln.py` | **两步 Read 模式**:目录形式 playbook 先 Read `00-index.md`(路由表),再 Read 具体子文件。单文件直接 Read。 **通用方法论**(卡壳时 Read): - 不知打什么 → `references/methodology/01-attack-priority.md` - 被 WAF 拦 → `references/methodology/02-bypass-toolkit.md` - 检查证据链 → `references/methodology/03-evidence-discipline.md` - 找不到漏洞点 → `references/methodology/04-control-gap-hunting.md` **验证与证据**(命中后): - 自动验证: `python scripts/phase7a_auto_verify.py --output-dir DIR` - SQLi验证: `python scripts/phase7d_sqli_verify.py --target URL` - 证据汇总: `python scripts/phase7e_evidence.py --output-dir DIR` --- ## Phase 5 · Report(提交) **进入条件**:Phase 4 至少一个 finding 有可重现 HTTP 包。 **MUST 流程**: 1. Read `references/compliance.md` 核对合规红线 2. Read `references/templates/report-submission.md` 取提交模板 3. 自动报告: `python scripts/phase8_report.py --output-dir DIR` 4. **每个 finding 附 PoC(双格式)**: curl 可执行命令 + Burp raw 报文,缺一不进报告 5. **PoC 校验门**: `python scripts/check_report_poc.py <report.md>` — 任何 high/medium finding 缺 curl 或 HTTP 报文 → 校验失败,报告不可提交 6. 三段式输出: 标题(≤80字) + 重现步骤(带HTTP包+PoC) + 影响+修复(CVSS+业务影响) --- ## 脚本工具索引 > 48 个 Python 脚本,按需调用。非自动管道——你判断方向,需要时调脚本。 | 类别 | 脚本 | 用途 | |------|------|------| | 侦察 | `phase0_fingerprint.py` | 指纹/WAF/安全头 | | 侦察 | `phase4_render.py` | Playwright渲染/JS提取 | | 侦察 | `phase4b_session.py` | Session捕获 | | 侦察 | `phase5_dir_enum.py` | 目录枚举(ffuf→fuzz_engine) | | 侦察 | `phase6_js_analysis.py` | JS分析/端点验证 | | 扫描 | `phase7_vuln_scan.py` | nuclei+VulnOrchestrator | | 验证 | `phase7a_auto_verify.py` | 自动验证/误报排除 | | 验证 | `phase7b_auth_vuln.py` | IDOR/越权/JWT | | 验证 | `phase7c_manual_verify.py` | 手工验证辅助 | | 验证 | `phase7d_sqli_verify.py` | SQLi验证(sqlmap) | | 证据 | `phase7e_evidence.py` | 证据汇总(必须) | | 专项 | `phase7f_framework_vuln.py` | 框架漏洞 | | 专项 | `phase7g_cmdi_vuln.py` | 命令注入 | | 专项 | `phase7h_ssrf_vuln.py` | SSRF | | 专项 | `phase7i_ssti_vuln.py` | SSTI | | 专项 | `phase7j_xxe_vuln.py` | XXE | | 专项 | `phase7k_deser_vuln.py` | 反序列化 | | 专项 | `phase7l_upload_vuln.py` | 文件上传 | | 专项 | `phase7m_param_fuzz.py` | 参数Fuzz | | 专项 | `phase7n_logic_vuln.py` | 业务逻辑 | | 专项 | `phase7o_jwt_vuln.py` | JWT | | 专项 | `phase7p_graphql_vuln.py` | GraphQL | | 专项 | `phase7q_smuggling_vuln.py` | HTTP走私 | | 专项 | `phase7r_bypass_vuln.py` | 403/401绕过 | | 报告 | `phase8_report.py` | 最终报告(必须) | | 工具 | `tool_manager.py status` | 工具状态检查 | | 工具 | `health_check.py` | 环境检查 | | 工具 | `cli.py` | 统一CLI入口 | **公共参数**: `--target --output-dir --config --verbose` **降级**: nuclei→Python, ffuf→fuzz_engine.py, subfinder→crt.sh, nmap→socket --- ## MCP 工具集成 默认 `mcp__jshook__search_tools` + `mcp__jshook__activate_tools` 按需激活。完整索引 Read `references/tools-src-hunter/mcp-jshook.md`。
View on GitHub