以下是將文本翻譯成 "繁體中文" 的結果:
從官方文檔中,可以看到 xray 的批量掃描有兩種方式可以實現:
1、社區版#
需要設置上游代理,然後 xray 進行監聽,如下:
# 如rad,運行
rad -t http://example.com -http-proxy 127.0.0.1:7777
# xray監聽
xray webscan --listen 127.0.0.1:7777 --html-output proxy.html
設置完成後,就可以實現掃描了。
rad 有個問題,只能掃描單個目標,官方沒有實現批量掃描的功能,但通過另一種方式也可以實現批量掃描(前提:linux or mac),就是用 xargs 命令。
cat 22222.txt | xargs -I {} rad -t {} -http-proxy 127.0.0.1:7777
除了rad之外,也可以使用其他的 endpoint 掃描工具進行 url 的爬取,如katana、cariddi。
- katana
katana 的使用方式比較簡單,直接可以加載文本文件。
.\katana.exe -u .\111.txt -proxy http://127.0.0.1:7777
掃描效果:
cariddi 也是一款可以爬取 url 的工具,測試後,無法通過 http 代理將流量發送到 xray 的監聽端口,無法配合 xray 掃描。
crawlergo --push-to-proxy http://127.0.0.1:7777 http://testphp.vulnweb.com/
xray 掃描結果
批量:
cat subdomain.txt | xargs -I {} crawlergo --push-to-proxy http://127.0.0.1:7777 {}
2、高級版#
根據 rad 官方文檔,如果是高級版的 xray,自帶了瀏覽器爬蟲的功能,只需使用下面的命令即可,但是只能掃描單個目標。
xray webscan --browser-crawler http://example.com --html-output vuln.html
3、快速啟動 xray#
如果每次啟動 xray 都要輸入長長的一串命令,勢必會減少 xray 的打開次數,通過.bash_profile
文件設置快捷啟動,只需要修改下面配置中 xray 的路徑及文件名,然後source ~/.bash_profile
同步下配置。
#xray scan
xraym(){
cd /Users/xxx/pentesting/web-basic/p2-vuldect/xray/xray_1.9.10_darwin-pwn3rzs+cyberarsenal && ./xray_darwin_amd64 webscan --listen 127.0.0.1:7778 --html-output $(date '+%Y%m%d_%H%M%S').html
}
xrays(){
cd /Users/xxx/pentesting/web-basic/p2-vuldect/xray/xray_1.9.10_darwin-pwn3rzs+cyberarsenal && ./xray_darwin_amd64 webscan --basic-crawler $1 --html-output $(date '+%Y%m%d_%H%M%S').html
}
xraym
通常用來啟動監聽,掃描可以通過 rad、katana 和 crawlergo 傳入流量即可。
xrays
用來掃描單個 url,單個 url 掃描只需xrays url
即可開始掃描。
4、其他資源#
- superxray (xray 圖形化):https://github.com/4ra1n/super-xray