简易架构
整体来看,扫描器这类工具大致都是由三部分组成:
- 来源处理
- 漏洞检测
- 结果输出
来源处理
这一部分的功能是整个漏洞检测的入口,在 xray 中我们定义了 5 个入口,分别是
- HTTP 被动代理
- 简易爬虫
- 单个 URL
- URL列表的文件
- 单个原始 HTTP 请求文件
漏洞检测
这一部分是引擎的核心功能,用于处理前面 来源处理 部分产生的标准化的请求。用户可以针对性的启用插件,配置扫描插件的参数,配置 HTTP 相关参数等。
结果输出
漏洞扫描和运行时的状态统称为结果输出,xray 定义了如下几种输出方式:
- Stdout (屏幕输出, 默认开启)
- JSON 文件输出
- HTML 报告输出
- Webhook 输出
高级使用方法
1. 使用 Burp 与 xray 进行联动
在实际测试过程中,除了被动扫描,也时常需要手工测试。这里使用 Burp 的原生功能与 xray 建立起一个多层代理,让流量从 Burp 转发到 xray 中。
首先 xray 建立起 webscan 的监听
进入 Burp 后,打开 User options 标签页,然后找到 Upstream Proxy Servers 设置。
点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。
接下来,在浏览器端使用 Burp 的代理地址
此时,请求已经通过了 Burp
转发到了 xray 中
至此,联动成功。
2. xray 与 awvs 爬虫联动
awvs 的爬虫很好用,支持表单分析和单页应用的爬取,xray 的扫描能力比较强,速度也更快。awvs 和 xray 搭配使用则是如虎添翼。这里演示的是扫描 awvs 的在线靶站 http://testphp.vulnweb.com/
首先启动 xray 的被动代理,下面的命令将启动一个监听在所有网卡 1111 端口的 HTTP 代理, 并将扫描结果保存在 awvs.html 内。
./xray webscan --listen 0.0.0.0:1111 --html-output awvs.html
以 awvs 12 web 版为例,登入管理页后,点击 Targets, 然后点击 Add Target 添加扫描目标:
然后切换到 HTTP 的部分,填写 xray 的 HTTP 代理。
地址需要根据实际情况填写,需要填写为 awvs 所在机器(容器)内能够访问到 xray 代理的地址。如果 xray 在外网,则填写为外网主机的 IP 地址。端口填写为上面启动时设置的端口号。
其他项可以按需调整或保持默认,然后点击 scan 按钮,按图示选择 Crawl Only 即仅使用爬虫,然后点击 Create Scan 就可以开始扫描了。
检查 xray 的界面有没有在扫描,如果有类似下图的结果说明工作正常,等待扫描完成即可。
扫描完成后可以查看 avws.html 查看漏洞详情。
其他具体用法可自行到官网查看
https://docs.xray.cool/#/
命令列表:
标签:xray,HTTP,awvs,扫描,代理,Xray,Burp From: https://www.cnblogs.com/xiaoji6/p/16964852.html