freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

xray常用命令,漏洞扫描时使用的代理(http proxy)和上游代理(mitm upstream...
2021-07-20 02:10:31

最常用的两个命令

使用代理模式,加载pocs目录下的所有poc,启用所有的插件。适用于日常渗透项目。

社区贡献的poc

xray.exe webscan --listen 127.0.0.1:7777 --html-output xray-testphp.html --poc pocs/* --plugin phantasm,baseline,brute-force,cmd-injection,crlf-injection,dirscan,fastjson,jsonp,path-traversal,redirect,shiro,sqldet,ssrf,struts,thinkphp,upload,xss,xxe

仅启用部分插件:

xray --config /home/usual/hack/xray/config.yaml webscan --url-file /home/usual/hack/url4.txt --plugin shiro,fastjson,struts,thinkphp,phantasm --html-output /home/usual/hack/output/HW.html

配置文件(config.yaml)

HTTP配置

漏洞扫描用的代理

配置该项后漏洞扫描发送请求时将使用代理发送,支持http,httpssocks5三种格式,如:

http:
proxy: "http://username:password@146.137.9.45:65233"
http:
proxy: "https://username:password@146.137.9.45:65233"
http:
proxy: "socks5://username:password@146.137.9.45:65233"

被动代理配置

上游代理(upstream_proxy)

该项配置仅对http代理本身生效,不对漏洞扫描发出的请求生效。如果想配置漏洞扫描时的代理,请参照配置文件http部分的配置。

upstream_proxy是为mitm本身配置独立的代理。也就是说,攻击者与网站正常交互的流量,走upstream_proxy。该配置不会影响插件在漏洞探测时的发包行为。

官方文档的说明很抽象,下面我举3个实际例子来解释:

假设有一个代理池:http://username:password@146.137.9.45:65233,出口IP每30秒会更换一次。有一个代理:http://username:password@1.2.3.4:65233,出口IP固定。

方案一:只在HTTP配置中填写漏洞扫描时使用的代理,不使用被动代理中的上游代理。xray漏洞扫描的流量和用户与Web页面正常交互的流量都会经过代理池146.137.9.45

http:
proxy: "http://username:password@146.137.9.45:65233"                             # 漏洞扫描时使用的代理池
mitm:
upstream_proxy: ""                    # 为 mitm 本身配置独立的代理

实际生产环境中存在安全设备。如果按照方案一配置,一旦漏洞扫描的出口IP被封禁,攻击者也无法用浏览器与网站正常交互了。

方案二:只使用上游代理,不使用HTTP配置中漏洞扫描的代理。漏洞扫描的流量直接到达目标主机。而访问Web页面的IP为代理1.2.3.4的出口IP。所以,上游代理只将浏览器的流量发送到代理1.2.3.4

http:
proxy: ""                             # 漏洞扫描时使用的代理

mitm:
upstream_proxy: "http://username:password@1.2.3.4:65233"                    # 为 mitm 本身配置独立的代理

综上,我们可以将漏洞扫描发出的请求的流量,与用户和Web页面正常交互的流量分开。

结论三:漏洞扫描发出的请求的流量走代理池,浏览器(用户和Web页面正常交互)流量走代理。

http:
proxy: "http://username:password@146.137.9.45:65233"                             # 漏洞扫描时使用的代理池
mitm:
upstream_proxy: "http://username:password@1.2.3.4:65233"                    # 为 mitm 本身配置独立的代理

攻击者漏洞扫描的流量会从代理池的某个出口IP到达目标站点。即使该出口IP被封禁,它也会很快地更换为新的出口IP。而攻击者通过浏览器与Web应用正常交互不会受到影响。

参考:xray常用命令,漏洞扫描时使用的代理(http proxy)和上游代理(mitm upstream_proxy)的实战应用

# web安全 # 代理 # 代理扫描 # XRay
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录