xray

生成证书并安装

生成证书
保存为 ca.crtca.key 两个文件,只需要第一次使用的时候运行即可,如果文件已经存在再次运行会报错,需要先删除本地的 ca.crtca.key 文件。

xray genca

安装证书
FireFox 浏览器可在设置中导入,其它浏览器需要将证书安装到系统上

Windows 直接双击 ca.crt 将证书导入到 受信任的根证书颁发机构 即可
Kali 将 ca.crt 复制到 /usr/local/share/ca-certificates/,然后执行 update-ca-certificates

Linux_CA证书导入

sudo cp ca.crt /usr/local/share/ca-certificates/xray.crt
sudo update-ca-certificates

其他参考 xray Documentation | 安装证书(Installation Certificate)

启动代理被动扫描

xray webscan --listen 127.0.0.1:7777 --html-output xray-testphp.html

浏览器设置代理转发到 7777 端口上,然后浏览器访问站点即可,当出现漏洞时命令行界面会有输出漏洞信息,在 xray-testphp.html 中也可查看扫描信息。

可用 http://testphp.vulnweb.com/ 进行测试
或具体页面

爬虫模式主动扫描

爬虫模式是模拟人工去点击网页的链接,然后去分析扫描,和代理模式不同的是,爬虫不需要人工的介入,访问速度要快很多,但是 xray 的基础爬虫不能处理 js 渲染的页面。最后同样可以通过 xray-crawler-testphp.html 查看到扫描信息。

xray webscan --basic-crawler http://testphp.vulnweb.com/ --html-output xray-crawler-testphp.html

登录后的网站扫描

如果用的是代理模式,只要浏览器是登录状态,那么漏洞扫描收到的请求也都是登录状态的请求。但对于主动扫描的爬虫而言,就没有这么“自动化”了, 但是可以通过配置 Cookie 的方式实现登录后的扫描。

打开配置文件,修改 http 配置部分的 Headers 项:

http:
  headers:
    Cookie: key=value

上述配置将为所有请求(包括爬虫和漏洞扫描)增加一条 Cookie key=value

结果输出

将检测结果输出到 html 报告中

--html-output service.html

将检测结果输出到 json 文件中

--json-output 1.json

使用 Burp 进行联动

将代理流量设置成 : 浏览器 > burp > xray

进入 Burp 后,打开 User options 标签页,然后找到 Upstream Proxy Servers 设置。

点击 Add 添加上游代理以及作用域,Destination host处可以使用*匹配多个任意字符串,?匹配单一任意字符串,而上游代理的地址则填写 xray 的监听地址。