6.5 KiB
6.5 KiB
攻击路径最短原则——黑盒猎手版
视角:黑盒 SRC,关注的是赏金价值 / 复现成本 / 平台审核优先级,不是 CVSS 教科书
1. 一句话原则
攻击者总是选阻力最小的路径——SRC 报告也应按"阻力"排队。
阻力 = 认证门槛 + 复现步骤 + 利用工具门槛 + 社工依赖。 阻力越低,赏金越高,平台审核越快。
2. 四维评分(每维 0–3 分,总分 0–12)
| 维度 | 3 分(最优) | 2 分 | 1 分 | 0 分 |
|---|---|---|---|---|
| 认证门槛 | 完全无需登录 | 普通注册用户 | 特权用户(VIP / 商家) | 仅管理员 |
| 请求复杂度 | 单 HTTP 请求 | 2–3 步 | 需竞态 | 需精确时序 / 多日 |
| 社工依赖 | 无需用户交互 | 需点击链接 | 需用户输入 | 需管理员操作 |
| 利用门槛 | curl / 浏览器 | 常见工具(Burp、sqlmap) | 需自写 exploit | 需 0day |
分级:
- P0(10–12 分):立即报告,平台 Critical 处理
- P1(7–9 分):High,48–72h 跟进
- P2(4–6 分):Medium
- P3(0–3 分):Low / Info(多数平台不收)
3. 漏洞类型 × 默认价值矩阵
按"假定单请求 + 无认证"的最佳条件给出基线分。实际报告要按真实条件减分。
| 漏洞类型 | 基线 P 等级 | SRC 价值(H1 中位) | 备注 |
|---|---|---|---|
| 未授权 RCE | P0 | $5k–$50k | 直接服务器控制权 |
| 未授权 SSRF→云元数据 | P0 | $3k–$20k | AWS/阿里云 metadata |
| 任意文件写入 | P0 | $3k–$15k | 等价 RCE |
任意文件读取(含 /etc/passwd / 配置) |
P0/P1 | $1k–$8k | 看读到什么 |
| 未授权数据库 / Redis / Mongo | P0 | $1k–$10k | 见 playbooks/unauth-access.md |
| 鉴权绕过 / 提权(普通→管理员) | P0/P1 | $2k–$15k | |
| 关键功能 IDOR(订单 / PII / 支付) | P1 | $500–$5k | 看泄露量 |
| SQLi(可拖库) | P1 | $1k–$8k | DBA 权限再涨 50% |
| 存储型 XSS(管理后台) | P1 | $300–$3k | 配合 CSRF / IDOR 提分 |
| 未授权信息泄露(.git/.svn/备份) | P1 | $500–$3k | 含数据库密码再升 P0 |
| 逻辑漏洞(密码重置 / 支付篡改) | P1 | $500–$5k | |
| CSRF(敏感操作) | P2 | $100–$1k | 单独提交多被合并 |
| 反射型 XSS | P2 | $50–$500 | 平台越来越不收 |
| 开放重定向 | P3 | $0–$200 | 多数平台标 N/A |
数据综合 H1 公开报告 + Bugcrowd VRT;具体平台标准以靶方 policy 为准。
4. 价值升级链(Chain to escalate)
报告 P2 不如把它链到 P0。常见升级链:
开放重定向 → 配合 OAuth → 账号接管 (P1)
反射 XSS → 配合管理后台 → 后台沦陷 (P1)
SSRF (任意 URL) → 探测内网 6379 → Redis 写 SSH 公钥 (P0)
任意文件读 → 读 /proc/self/environ / 配置 → 拿 DB 密码 (P0)
SQLi 普通用户 → 读 admin hash → 离线破解 / 改密 (P0/P1)
IDOR → 改 role=admin → 越权提权 (P0)
默认凭据 admin/admin → 后台上传 → Webshell (P0)
.git 泄露 → 读源码 → 找 hardcoded secret / 内网 (P0)
报告链路最长 / 终点最高的版本,赏金最大化。
5. 9 类敏感操作 × 黑盒优先级
下表把 sensitive_operations_matrix.md 的"白盒控制"翻译成"黑盒最先测的探针"。
每个操作类型,开局先发一发"关键控制是否缺失"的子弹。
| 操作类型 | 识别特征(URL / 参数) | 必探的控制缺失 | 缺失则 |
|---|---|---|---|
| 数据修改 | POST/PUT/DELETE,含 id/uid/oid |
鉴权 / 资源所有权 | IDOR / 越权 (P1) |
| 数据访问 (GET 单条) | /user/{id}、/order/{id} |
资源所有权 | 横向越权 IDOR (P1) |
| 批量 / 导出 | /export、/download、/batch |
鉴权 + 范围限制 + 数量限制 | 大量数据泄露 (P1) |
| 权限变更 | /role、/grant、/permission |
高级授权 + 边界检查 | 提权到 admin (P0) |
| 资金操作 | /transfer、/pay、/refund |
金额校验 + 幂等 + 并发 | 篡改金额 / 双花 (P0) |
| 外部 HTTP | /fetch、/preview、/import?url= |
URL 白名单 + 协议限制 + 内网封禁 | SSRF (P0/P1) |
| 文件上传 | multipart/form-data | 类型 + 内容 + 路径校验 | 上传 webshell (P0) |
| 文件读取 / 下载 | 含 path/file/filename |
路径规范化 + 权限 | 任意读 (P0) |
| 文件删除(易遗漏!) | DELETE / ?action=del |
路径 + 权限 + 审计 | 任意文件删 (P0) |
| 命令执行 / Ping / 诊断 | /ping、/nslookup、/exec、/util |
命令白名单 + 参数过滤 | RCE (P0) |
| 认证操作 | /login、/reset、/sms |
验证码 + 频率 + 绑定 | 撞库 / 重置 (P1) |
操作流程:
- 抓功能列表 → 把每个端点归到上表某类
- 对该类型对应的"必探控制"逐一发探针(详见
04-control-gap-hunting.md) - 发现缺失 → 进入对应
playbooks/<类型>.md完成利用 → 评分 → 报
6. 何时降级 / 何时不报
降级条件(每条 -1 分,可降到 P3 即放弃):
- 内网隔离资产,互联网不可达
- 已部署 WAF/IPS 且 5 种以上 bypass 都失败
- 利用窗口极短(< 100ms 竞态,且无法稳定复现)
- 数据脱敏到无业务价值(只能拿到 user_id 序号)
- 平台明示 OOS(Out of Scope)
不报条件:
- 仅依赖物理接触 / 已 root 设备
- 仅在自定义 client(私有 SDK)下复现
- 自签证书 / 用户主动安装恶意 CA
- 已知 CVE 但目标显然已打补丁,只在版本号上"看起来旧"
7. 报告标题模板
[P0][未授权][RCE] /api/v1/import 接受 ${jndi:} - 单包打穿
[P1][认证后][SQLi] /api/search?q= UNION 注入,可读 admin hash
[P1][越权][IDOR] /api/orders/{id} 横向遍历他人订单(脱敏 100 条)
[P2][CSRF] 敏感操作 /api/email/change 缺 token + SameSite=None
格式:[等级][条件][类型] 端点 - 一句话描述。
8. 报告排序口诀
未授权 > 认证 > 管理员 单包 > 多包 > 竞态 直接利用 > 链式利用 新型 > 老型 真实数据 > 自造数据
按这个口诀,把同一个目标的所有 finding 排好序再提交,平台审核员看了不头大。