# 攻击路径最短原则——黑盒猎手版 > 视角:黑盒 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) | **操作流程**: 1. 抓功能列表 → 把每个端点归到上表某类 2. 对该类型对应的"必探控制"逐一发探针(详见 `04-control-gap-hunting.md`) 3. 发现缺失 → 进入对应 `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 排好序再提交,平台审核员看了不头大。