本文转载:https://xiaochuhe.blog.csdn.net/article/details/122375019?spm=1001.2014.3001.5502
一、xray简介
xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有:检测速度快。发包速度快; 漏洞检测算法高效。支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以极大的客制化功能。安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。
目前支持的漏洞检测类型包括:
XSS漏洞检测 (key: xss)
SQL 注入检测 (key: sqldet)
命令/代码注入检测 (key: cmd-injection)
目录枚举 (key: dirscan)
路径穿越检测 (key: path-traversal)
XML 实体注入检测 (key: xxe)
文件上传检测 (key: upload)
弱口令检测 (key: brute-force)
jsonp 检测 (key: jsonp)
ssrf 检测 (key: ssrf)
基线检查 (key: baseline)
任意跳转检测 (key: redirect)
CRLF 注入 (key: crlf-injection)
Struts2 系列漏洞检测 (高级版,key: struts)
Thinkphp系列漏洞检测 (高级版,key: thinkphp)
POC 框架 (key: phantasm)
注:其中 POC 框架默认内置 Github 上贡献的 poc,用户也可以根据需要自行构建 poc 并运行。
二、搭建反连平台的目的
反连平台常用于解决没有回显的漏洞探测的情况,最常见的应该属于 ssrf 和 存储型xss。渗透测试人员常用的 xss 平台就是反连平台。 如果你不理解上面这句话,可以先去学习一下这两个漏洞,否则这篇文章也是看不懂的。
需要反连平台才可以检测出来的漏洞包括但不限于:
ssrf
fastjson
s2-052
xxe 盲打
所有依赖反连平台的 poc
三、搭建反连平台的具体步骤
(一)环境要求:
1.客户端也就是本机必须安装好xray,环境正常;
2.服务器端需要一台云服务器(开启好一个监听端口即可),服务器端也必须安装好xray,环境正常。
注:不管主机和云服务器系统是不是一样,都可以反连(亲测有用!)
(一)客户端xray的配置(配置文件config.yaml)
# 反连平台配置,更多解释见 https://docs.xray.cool/#/configration/reverse
# 注意: 默认配置为禁用反连平台,这是无法扫描出依赖反连平台的漏洞,这些漏洞包括 fastjson,ssrf 以及 poc 中依赖反连的情况等
reverse:
db_file_path: "随便写一个文件,文件名为db" # 反连平台数据库文件位置, 这是一个 KV 数据库
token: " 一串你能记住的数字 " # 反连平台认证的 Token, 独立部署时不能为空
http:
enabled: false
listen_ip: 0.0.0.0
listen_port: ""
ip_header: "" # 在哪个 http header 中取 ip,为空代表从 REMOTE_ADDR 中取
dns:
enabled: false
listen_ip: 0.0.0.0
domain: "" # DNS 域名配置
is_domain_name_server: false # 是否修改了域名的 ns 为反连平台,如果是,那 nslookup 等就不需要指定 dns 了
resolve: # DNS 静态解析规则
- type: A # A, AAAA, TXT 三种
record: localhost
value: 127.0.0.1
ttl: 60
client:
remote_server: true 开启 # 是否是独立的远程 server,如果是要在下面配置好远程的服务端地址
http_base_url: " 服务器端的地址和监听端口 " # 默认将根据 ListenIP 和 ListenPort 生成,该地址是存在漏洞的目标反连回来的地址, 当反连平台前面有反代、绑定域名、端口映射时需要自行配置
需要改的地方为绿色我写的部分,另外客户端服务也得开了,true才行
(二)服务器端xray的配置(配置文件config.yaml)
# 反连平台配置,更多解释见 https://docs.xray.cool/#/configration/reverse
# 注意: 默认配置为禁用反连平台,这是无法扫描出依赖反连平台的漏洞,这些漏洞包括 fastjson,ssrf 以及 poc 中依赖反连的情况等
reverse:
db_file_path: "随便写一个文件,文件名为db" # 反连平台数据库文件位置, 这是一个 KV 数据库
token: " 之前客户端那串数字 " # 反连平台认证的 Token, 独立部署时不能为空
http:
enabled: true 改为true
listen_ip: 0.0.0.0
listen_port: "改为你监听的端口"
ip_header: "" # 在哪个 http header 中取 ip,为空代表从 REMOTE_ADDR 中取
dns:
enabled: false
listen_ip: 0.0.0.0
domain: "" # DNS 域名配置
is_domain_name_server: false # 是否修改了域名的 ns 为反连平台,如果是,那 nslookup 等就不需要指定 dns 了
resolve: # DNS 静态解析规则
- type: A # A, AAAA, TXT 三种
record: localhost
value: 127.0.0.1
ttl: 60
client:
remote_server: true # 是否是独立的远程 server,如果是要在下面配置好远程的服务端地址
http_base_url: " " # 默认将根据 ListenIP 和 ListenPort 生成,该地址是存在漏洞的目标反连回来的地址, 当反连平台前面有反代、绑定域名、端口映射时需要自行配置
需要改的地方为绿色我写的部分
(三)进行验证在服务器端输入命令:
服务器端输入命令:./xray reverse
表示反连已经开始了,然后再客服端打开上面标的地址页面:服务器地址+监听端口/cland
到这步,就已经配好了,下面开始进行测试!
四、xray反连挖掘xxe漏洞
在客户端xray中输入命令:xray webscan --brower-crawler +测试地址 --plugins=xee --html-ouput 1.7.html
反连结果如下:
扫除来的报告如下:
小伙伴有什么不理解的可以留言问我,在线解答!