逆向工程实战手册 第 64 章

第 64 章 SRC 漏洞挖掘实战(众测方法论)

SRC(Security Response Center)/ Bug Bounty = 在合法授权下挖漏洞换奖励。本章把前面所有章节整合成以"出洞"为目标的实战方法论:从目标接单到提交报告的完整流程、高频漏洞类型与测试优先级、以及合规红线。

📍 知识点地图 | 主题:SRC挖洞 | 前置:第57-58章 | 后续:第96章 | 核心概念:五阶段、优先级、报告、合规

64.1 SRC 与传统渗透的差异(先懂规则)

授权方式: 明确的资产范围/测试规则(不是"随便打")
目标形态: 互联网业务(Web/App/API/小程序)
评分体系: 按危害定级(高危/中危/低危)→ 奖金
关键差异:
  □ 不能破坏(DDOS/删数据=封号甚至追责)
  □ 点到即止(证明漏洞存在即可,不深入利用)
  □ 规则明确(哪些资产在范围内/哪些行为禁止)
  □ 速度重要(同漏洞先到先得)

64.2 五阶段方法论(SRC 完整流程)

Phase 1: Intake(接单)—— 理解目标与规则
Phase 2: Recon(侦察)—— 资产/功能/技术栈(第 57 章)
Phase 3: Enum(枚举)—— 找到所有入口(第 57 章)
Phase 4: Hunt(猎洞)—— 逐个入口测漏洞(第 58 章)
Phase 5: Report(提交)—— 写报告拿奖励

Phase 1: Intake(接单——最容易被忽略的环节)

□ 读清楚范围: 哪些域名/App/小程序在测
□ 读规则: 禁测项(生产数据? 第三方? 需授权服务?)
□ 定优先级: 奖励高的资产/新上线的功能
□ 建立目标清单: 记录所有 in-scope 资产
□ 合规红线: 不拖库/不删数据/不打范围外

Phase 2-3: Recon + Enum(资产与入口)

□ 子域/端口/技术栈(第 57.2)
□ 历史漏洞(该厂商/该产品的已知漏洞——同类易复现)
□ 新功能优先(新代码 = 新漏洞)
□ API 枚举(前端逆向的 JS 里找接口,第 13/57 章)
□ 移动端: APK 逆向找后端接口(第 10 章)
□ 注意: 很多 SRC 漏洞在"管理后台/内部接口/测试环境"

64.3 高频漏洞类型与优先级(出洞率排序)

第一梯队(出洞最快,建议主攻):
  1. IDOR/越权(第 58.6)—— 测试快、危害明确
  2. 信息泄露(第 58.9)—— 配置/备份/调试接口
  3. 弱口令/默认凭据(第 59 章)—— 后台入口

第二梯队(危害高,需要深入):
  4. SQL 注入(第 58.2)
  5. SSRF(第 58.4)
  6. 文件上传→RCE(第 58.5)
  7. 任意文件读取/下载

第三梯队(危害大但难/慢):
  8. RCE(命令注入/反序列化/框架漏洞)
  9. 逻辑漏洞(支付/优惠/风控绕过)
  10. 供应链/云配置

建议: 新手先吃透 IDOR+信息泄露+弱口令(三大送分洞)

64.4 单资产测试流程(从接单到出洞)

1. 信息收集(第 57 章): 子域/技术栈/历史漏洞
2. 功能梳理: 每个功能点列出来(登录/注册/查询/上传/支付/管理)
3. 逐个功能测:
   □ 越权(改 ID/改角色/直接访问管理接口)
   □ 注入(参数/JSON/Header)
   □ 上传/下载(路径/类型)
   □ 逻辑(流程绕过/重放/竞态)
4. 深挖可疑点(有戏就多花时间)
5. 验证影响(能读别人数据? 能执行命令? 能进后台?)
6. 写报告提交

64.5 核心测试思路(每个功能点怎么想)

通用测试清单(对应每个请求/功能):
  □ 参数篡改: 改 ID/金额/角色/状态 会怎样?(IDOR/逻辑)
  □ 身份: 换用户/换 token 还能访问吗?(越权)
  □ 输入: 注入类(SQLi/命令/XSS/模板注入)
  □ 文件: 上传类型/路径穿越/任意下载
  □ 认证: 绕过/重置链/会话固定
  □ 重放: 同一请求能重复执行吗?(重复操作/竞态)
  □ 隐藏功能: 参数枚举(debug/admin)/接口枚举(前端 JS)
  □ 管理面: 后台入口/管理 API(弱口令+越权组合)

64.6 报告写作(SRC 的"产品交付")

好报告 = 好漏洞 × 好呈现(一半的分数在报告)

结构:
  1. 标题: 类型+位置+影响一句话
     例: "IDOR: 任意用户订单信息可越权查看(GET /api/orders/{id})"
  2. 漏洞类型/等级判断
  3. 复现步骤(可复现!):
     步骤清晰、含完整请求/响应
  4. 影响说明: 能造成什么危害(数据泄露/账号接管/命令执行)
  5. 修复建议(一句到位)

坏报告特征(会被打回/低分):
  □ 无法复现(关键步骤缺失)
  □ 影响夸大或不清(只说"有漏洞")
  □ 截图糊/请求不全
  □ 没给修复建议

64.7 合规红线(SRC 生存底线)

绝对禁止:
  □ 未授权测试范围外资产
  □ 拖库/下载大量敏感数据(证明存在即可)
  □ 删除/篡改生产数据
  □ DDOS/影响业务可用性
  □ 深入利用 RCE(验证命令执行即可,不弹 shell 不拿数据)
  □ 公开披露未修复漏洞(报告→修复→可公开)

建议:
  □ 每个测试动作保持"最小必要"
  □ 漏洞确认后立即停止深入
  □ 保存完整测试记录(自证合规)

64.8 效率技巧(SRC 高手经验)

□ 盯"更新": 新功能/新接口上线后 24 小时内测试(新代码=新漏洞)
□ 盯"边缘": 测试环境/管理后台/内部 API(防护最弱)
□ 盯"逻辑": 支付/优惠/风控类(逻辑漏洞常是高分)
□ 工具化: 常用测试请求存 Burp 项目模板(重复性工作自动化)
□ 沉淀: 每次出洞写"漏洞模式笔记"(同类漏洞下次秒发现)
□ 同漏洞先到先得 → 优先级: 验证速度 > 完美报告(先提交再补充)

64.9 SRC 检查清单

□ 范围/规则确认(Phase 1)
□ 资产与功能清单
□ 子域/端口/技术栈/历史漏洞
□ 前端 JS 接口枚举(第 13 章)
□ 三大送分洞: IDOR/信息泄露/弱口令
□ 注入类: SQLi/命令/XSS/SSTI
□ 上传/下载/认证/逻辑
□ 管理后台/内部接口
□ 影响验证(点到即止)
□ 报告: 可复现步骤+影响+修复
□ 测试记录归档(合规+复盘)

动手练习

  1. 在授权靶场(DVWA/WebGoat/PentesterLab)用"功能点测试清单"(64.5)完整测一个功能模块。
  2. 拿一份公开的 SRC 报告(HackerOne 公开披露),分析它"为什么是好报告"。
  3. 练习 IDOR 快测:对一个带用户 ID 的练习 API,5 分钟内测出水平越权。
  4. 建立你自己的"漏洞模式笔记"(每次练习后记录一个新模式)。

深入阅读

  • 仓库:skills/pentest-tools/src-hunter/SKILL.md(SRC 五阶段方法论 + 19 类攻击 playbook)
  • 仓库:skills/pentest-tools/references/web-attack-cheatsheet.md(Web 漏洞速查)
  • 仓库:skills/api-security/SKILL.md(API 安全:BOLA/IDOR 专项)
  • 仓库:skills/api-security/references/jwt-oauth-testing.md(认证攻击)
  • 仓库:skills/pentest-tools/references/awesome-pentest-digest.md(工具资源)