Repository navigation
v1.6.11 — OOB / 带外回连
路线图第 2 项:OOB / 带外回连。
为什么必须有
盲注、盲 SSRF、无回显 RCE、XXE 外带、JNDI/反序列化注入的「打没打中」只能靠回连确认。
在此之前整库没有任何回连能力(连一处 oob 字样都只在 UI 标签里),等于结构性放弃这一整类漏洞,
poc 纪律也无法闭环。
新增
lib/oob.mjs- Provider 可插拔:
local(自建,明文 JSON 协议,便于内网自控/测试)、
interactsh(公共或自建集群,回连数据 AES-CFB 解密;解密失败退回原文,不丢整批回连) buildPayload:每注入点一个唯一token.域名,DNS 与 HTTP 同一 tokennormalizeInteraction:统一两家后端的字段(协议/来源 IP/时间/原始请求响应/唯一 id)OobState:correlation id 与 secret 落$DSH_HOME/oob/<sessionId>.json(0600),
进程重启后仍能继续 poll;回连按 id 去重,只入库一次
- Provider 可插拔:
pentest_oob工具:start/new/poll/list/stop- 回连落成
kind=http|info事实(带来源 IP、时间、原始请求),可直接作为 PoC 证据 - 子 agent 只负责注入 payload,回连入库仍归决策 agent(已加入
toolFilter.deny)
- 回连落成
测试
新增 test/oob.test.mjs 25 项:payload 构造、字段规范化(含 JSON 字符串形式)、
状态持久化与权限位、去重、AES 往返、无密钥兜底、未知 provider 报错。全部用桩 fetch,不联网。
npm test 12 个测试文件全绿;npm run check 30/30。