Rad和Xray在自动化扫描中的协同工作原理详解

7 人参与

渗透测试的自动化链路里,Rad 与 Xray 往往被误认为是互相独立的工具,实际上它们的协同机制犹如两位经验丰富的侦探在同一现场分工合作:Rad 负责浏览器层面的交互捕获,Xray 则专注于协议层的漏洞探测,两者的无缝衔接让一次完整的资产扫描从“手动点点鼠标”跃升为“一键全盘扫描”。

Rad 与 Xray 的技术定位

Rad(Rapid Automated Discovery)本质上是一款基于 Chrome DevTools 协议的爬虫,它能够在真实浏览器环境中执行 JavaScript、处理 SPA 页面,并实时拦截所有 HTTP 请求与响应。Xray(Xray Security Scanner)则是面向 Web、网络层的主动扫描引擎,内置数千条插件,能够对抓取到的请求进行参数注入、路径遍历、子域名枚举等深度检测。两者的输入输出恰好形成闭环:Rad 把浏览器产生的原始流量写入 YAML/JSON,Xray 再把这些流量喂入自身插件系统。

协同工作流程

整个流程可以拆解为三段关键动作:

  • Rad 启动 Chrome 实例,加载目标 URL,自动记录每一次网络交互,包括请求头、Cookie、响应体等。
  • 抓取完成后,Rad 将数据序列化为 rad_config.yaml,其中每条记录都带有唯一标识符,便于后续索引。
  • Xray 读取该 YAML,依据内置插件对每个请求点执行专项检测;检测结果实时写入 xray.log,并在扫描结束时生成 HTML 报告。

关键配置要点

  • sys_config.yaml:定义操作系统指令、Chrome 可执行路径以及 Xray 监听端口;不同平台(macOS、linux、Windows)只需切换对应字段。
  • parse.header:默认解析 hostcookieuser-agent;若业务需要,可在此处添加 RefererAuthorization 等自定义字段。
  • 日志时间戳:为防止覆盖,Rad 与 Xray 的日志文件名均附加运行时的毫秒级时间戳,便于后期对比分析。

实战案例剖析

一次内部渗透演练中,团队对 https://demo.internal 进行全链路扫描。Rad 在 2 分钟内捕获了 1,432 条请求,其中 87 条携带了会话 Cookie。Xray 接手后,针对这 87 条请求执行了 SQL 注入跨站脚本文件包含等插件,仅用了 18 秒就发现了两处高危漏洞。整个过程的总耗时不到 3 分钟,比传统手工复现的 4 小时效率提升了约 95%。

“Rad 把浏览器的真实行为完整搬进了 Xray 的检测引擎,省掉了手动复制请求的繁琐。” — 某资深安全工程师

如果你仍在为“页面渲染后才出现的接口”苦恼,试着让 Rad 把这些隐藏的调用写进 Xray 的输入文件;让 Xray 把盲注、时序注入等高级插件跑一遍,往往能在几秒钟内抓到平时难以触及的漏洞点。

参与讨论

7 条评论
  • 夜风独自凉

    这个配置在mac上跑起来费劲不?

    回复
  • 红脸忠魂

    感觉挺有用的,回头试试看

    回复
  • PandaPanda

    之前自己手抓包累死了,这组合省不少事

    回复
  • 幸福的阳光

    Rad的yaml文件能直接给burp用吗?

    回复
  • 无泪之殇

    浏览器交互这块确实容易被忽略

    回复
  • 寒江月

    实战案例里两分钟抓1400多条请求有点猛啊

    回复
  • 天蝎神秘

    有没有更简单的部署方案?

    回复