BurpSuite与Xray多级代理实现联动扫描

Xray是长亭科技推出的,最经典的莫过于代理模式下的被动扫描,它使得整个过程可控且更加精细化;
代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。

一般在实际测试中,除了需要手工在burp抓包改包之外,有时候可以配置一个多层代理,让请求包的数据从 Burp 转发到 xray 中,让xray协助进行检测,提高挖洞效率

方法如下:

1.先打开xray 建立webscan 的监听,这里监听本地的8888端口

.\xray_windows_amd64_c2.exe webscan --listen 127.0.0.1:8888 --html-output 123.html
注意:这一步可能需要配置一下xray的配置文件config.yaml,设置允许所有地址访问

# 被动代理配置
# 更多解释见 https://docs.xray.cool/#/configration/mitm
mitm:
  ca_cert: ./ca.crt                     # CA 根证书路径
  ca_key: ./ca.key                      # CA 私钥路径
  basic_auth:                           # 基础认证的用户名密码
    username: ""
    password: ""
  allow_ip_range: []                    # 允许的 ip,可以是 ip 或者 cidr 字符串
  restriction:                          # 代理能够访问的资源限制, 以下各项为空表示不限制
    hostname_allowed:
    - '*'                               # 允许访问的 Hostname,支持格式如 t.com、*.t.com、1.1.1.1、1.1.1.1/24

2.打开 Burp ,在User options(用户选项)找到 Upstream Proxy Servers (顶级代理服务器)设置。添加上游代理以及作用域,根据提示,目标host处可不填或者全部使用,支持通配符(表示0个或者任意个字符,?表示除点号之外的任意一个字符)。代理主机地址填写上一步 xray 的监听地址:127.0.0.1和监听端口:8888,验证类型根据需要,一般选择无即可。

3.最后在本地打开全局代理或者在浏览器端设置http代理地址为 Burp 的代理地址:127.0.0.1:8080

4.然后打开浏览器,正常进行访问抓包,发现流量已经通过 Burp后,并转发到了xray中。

整个流量的方向为:客户端请求的数据包<--->浏览器(浏览器代理为设置Burp的监听代理端口)<--->顶级代理服务器(也叫上游代理,本例填的是xray的监听地址和端口)<--->目标网站;服务器端返回的响应包的流向则刚好相反,其实就是在客户端配置形成一个代理链,实现多层代理

最后:其实可以配置多个顶级代理服务器,Burp会按顺序将请求的主机与Destination host中设置的内容进行比较,并将请求内容发送至第一个相匹配的Proxy server。

posted @ 2021-10-27 22:03  广陌道人  阅读(353)  评论(0编辑  收藏  举报