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。