代理模式进行扫描(被动扫描)

使用 xray 代理模式进行漏洞扫描

代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。

生成 ca 证书

在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。

这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。

代理模式进行扫描(被动扫描)

运行 .\xray_windows_amd64.exe genca

运行命令之后,将在当前文件夹生成 ca.crt 和 ca.key 两个文件。

本命令只需要第一次使用的时候运行即可,如果文件已经存在再次运行会报错,需要先删除本地的 ca.crt 和 ca.key 文件。

安装 ca 证书

如果使用的是 FireFox 浏览器,请参照这里,它有自己的证书体系。

代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

如果使用的是 IE、Chrome、curl 等客户端,建议将 ca 证书安装在操作系统上,请参照下方的教程。

代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

 代理模式进行扫描(被动扫描)

启动代理

在扫描之前,我们还需要做一些必要的设置

第一次启动 xray 之后,当前目录会生成 config.yml 文件,选择文件编辑器打开,并按照下方说明修改。

  • mitm 中 restriction 中 includes 由 * 改为 testphp.vulnweb.com
mitm:
  ...
  restriction:
    includes:
    - "testphp.vulnweb.com"

因为我们的测试目标站就是 http://testphp.vulnweb.com,增加这个过滤之后,xray 将只会扫描该站的流量,避免扫描到非授权目标站点。

对于配置文件中的更多解读,请参考文档中的 配置 章节。

  • 设定漏洞扫描结果的输出,这里选择使用 html 文件输出,所以命令行后面要增加 --html-output xray-testphp.html
.\xray_windows_amd64.exe webscan --listen 127.0.0.1:7777 --html-output xray-testphp.html

常见问题

  • 如何退出?ctrl + c
  • 提示 file xray-testphp.html already exists,可以删除已经存在的报告文件,或者使用一个新的文件名,或者在文件名中加入 __timestamp__ 或 __datetime__ 将自动替换为实际值。

配置代理

代理模式进行扫描(被动扫描)

开始扫描

使用浏览器访问 http://testphp.vulnweb.com/

然后点击页面,流量就会转发到xray上

代理模式进行扫描(被动扫描)

相关推荐