# 控制缺口狩猎（Control-Gap）— SRC 加速器

> 思想来源：src-hunter-skill `methodology/04-control-gap-hunting` + Claude-BugHunter「影响优先」。  
> 目的：少扫 payload，多找 **「本该有鉴权/校验但没做」** 的缝。

## 1. 核心问题（每个接口问一遍）

```text
1. 谁应该能调用？（游客 / 用户 / 商户 / 运营 / 系统）
2. 服务端如何认出调用者？（Cookie / JWT / 网关 Header / 无）
3. 资源归属如何校验？（userId 是否等于 token.sub？仅前端藏按钮？）
4. 状态机是否可跳步？（未支付→发货、草稿→上架）
5. 写接口是否与读接口鉴权一致？
```

任一「空 / 仅前端 / 仅安全通过晦涩」→ 高价值候选。

## 2. 快速对照表

| 控制点应存在 | 缺口表现 | 优先洞型 |
|--------------|----------|----------|
| 登录态 | 无 Cookie 200 + 业务 JSON | 未授权 |
| 对象级授权 | 换 id 仍 200 | IDOR/BOLA |
| 角色校验 | 普通用户调 `/admin/*` | 垂直越权 |
| 防重放/验证码 | 重置/绑机可脚本化 | ATO |
| 服务端计价 | body 里 price 可信 | 逻辑/支付 |
| URL 白名单 | callback/url 任意外连 | SSRF/开放重定向 |
| 文件类型服务端校验 | 只靠扩展名/Content-Type | 上传 |
| 导出权限 | export 无归属 | 批量隐私 |

## 3. 实战 15 分钟节奏

```text
1. 抓正常业务 3 条流（列表、详情、写操作）
2. 对每条流：去 Cookie / 换角色 token / 换资源 id / 改关键金额或状态
3. 差分：状态码、body 长度、错误文案、是否仍返回敏感字段
4. 命中 → 最小 PoC → evidence → 报告；再 cluster 同控制器
```

## 4. 和盲打 payload 的关系

- **先 control-gap，后 payload**：未授权/越权/逻辑不需要先上 sqlmap
- 注入/RCE：仅在差分或错误回显给出信号后再进 playbook
- WAF 吵：缩小到单参数 + 时间盒，见 `r/019.txt`

## 5. 国产 / ASP.NET 常见缺口

- Handler/ashx/aspx 只校验 Referer 或前端 hidden
- `FileUploadHandler` / UEditor `controller.ashx` 独立鉴权遗漏
- WebForms 事件 `__doPostBack` 旁路业务参数未校验
- 移动端 API 与 PC 后台共用 ID 但鉴权不一致

详见 `r/002.txt`。
