带外验证解决什么
盲注类问题在响应里看不到任何回显,判断依据只能是目标有没有对外发起连接。Collaborator 提供一组可控的外部域名,把它放进被测参数后,若目标真的去解析或访问这些域名,就会在协作器里留下记录。利用条件与证据都来自这条外部交互记录,因此前提是客户同意使用第三方带外服务。
基本信息
| 用途 | 无回显场景下的外连行为验证 |
|---|---|
| 前提 | 客户允许访问第三方带外服务,或改用自建服务 |
| 关联方式 | 每条请求使用唯一子域,配合时间戳对应 |
| 证据形式 | DNS 与 HTTP 交互记录,含来源与时间 |
| 留档 | 交互记录导出并脱敏后入证据目录 |
典型使用场景
- 服务端请求伪造验证:确认目标是否会按参数访问外部地址
- 盲注类问题证明:注入结果不在响应中,只能靠外连体现
- 扩展开链风险验证:确认特定参数是否触发外部解析
- 与其他场景交叉:邮件通知、回调地址等参数同样适用
- 复测:确认修复后不再出现新的外连记录
使用流程
使用流程
1. 在协作器中生成唯一子域,复制到剪贴板
2. 构造验证请求,把子域放进被测参数
例如 /fetch?url=https://<唯一子域>
3. 轮询协作器,查看 DNS 或 HTTP 交互及来源地址
4. 导出交互记录,与请求时间一一对应入证据目录
5. 不在子域参数中携带任何真实业务数据交互记录读法
| 记录类型 | 含义 | 判定要点 |
|---|---|---|
| DNS 查询 | 目标发起了域名解析 | 说明存在外部解析能力 |
| HTTP 请求 | 目标实际访问了地址 | 证明完整请求链路可被触发 |
| 来源地址 | 发起外连的主机 | 确认来自被测系统而非其他来源 |
| 时间戳 | 发生时间 | 与验证请求时间对应才成立 |
带外请求会经过第三方服务:不得携带真实业务数据与凭据,客户不允许时改用自建带外服务。
回调记录要导出保存:协作器里的记录有时效,事后补证据往往已经拿不到原始时间戳。