赞
踩
xray是一种功能强大的扫描工具。xray 社区版是长亭科技推出的免费白帽子工具平台,目前社区有 xray 漏洞扫描器和 Radium 爬虫工具,由多名经验丰富的安全开发者和数万名社区贡献者共同打造而成。工具仅为了靶场学习,请勿非法使用,一切违法使用与博主无关!
https://github.com/chaitin/xray/releases
Xray下载打开即可使用,无需依赖环境,无需安装。
名称 | Key | 版本 | 说明 |
XSS漏洞检测 | xss | 社区版 | 利用语义分析的方式检测XSS漏洞 |
SQL 注入检测 | sqldet | 社区版 | 支持报错注入、布尔注入和时间盲注等 |
命令/代码注入检测 | cmd-injection | 社区版 | 支持 shell 命令注入、PHP 代码执行、模板注入等 |
目录枚举 | dirscan | 社区版 | 检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件 |
路径穿越检测 | path-traversal | 社区版 | 支持常见平台和编码 |
XML 实体注入检测 | xxe | 社区版 | 支持有回显和反连平台检测 |
poc 管理 | phantasm | 社区版 | 默认内置部分常用的 poc,用户可以根据需要自行构建 poc 并运行。文档:POC |
文件上传检测 | upload | 社区版 | 支持常见的后端语言 |
弱口令检测 | brute-force | 社区版 | 社区版支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典 |
jsonp 检测 | jsonp | 社区版 | 检测包含敏感信息可以被跨域读取的 jsonp 接口 |
ssrf 检测 | ssrf | 社区版 | ssrf 检测模块,支持常见的绕过技术和反连平台检测 |
基线检查 | baseline | 社区版 | 检测低 SSL 版本、缺失的或错误添加的 http 头等 |
任意跳转检测 | redirect | 社区版 | 支持 HTML meta 跳转、30x 跳转等 |
CRLF 注入 | crlf-injection | 社区版 | 检测 HTTP 头注入,支持 query、body 等位置的参数 |
XStream漏洞检测 | xstream | 社区版 | 检测XStream系列漏洞 |
Struts2 系列漏洞检测 | struts | 高级版 | 检测目标网站是否存在Struts2系列漏洞,包括s2-016、s2-032、s2-045、s2-059、s2-061等常见漏洞 |
Thinkphp系列漏洞检测 | thinkphp | 高级版 | 检测ThinkPHP开发的网站的相关漏洞 |
shiro反序列化漏洞检测 | shiro | 高级版 | 检测Shiro反序列化漏洞 |
fastjson系列检测 | fastjson | 高级版 | 检测fastjson系列漏洞 |
Windows系统使用:到xray安装目录,打开cmd命令输入行,即可使用xray工具,例如:
xray.exe --help——查看帮助文档
Linux系统使用:同windows系统使用,解压压缩包在Linux终端运行,执行文件时用./即可
1.指定单个URL
参数:--url
命令:
xray.exe webscan --url http://127.0.0.1/DVWA-master/vulnerabilities/sqli/ --html-output test.html
说明:扫描指定的单个URL,扫描结果以html格式输出
2.简易爬虫模式
参数:--basic-crawler
说明:(在漏洞扫描前会先进行基础爬虫爬取页面,相比来源处理一单个URL,会先对提供的URL进行爬虫扫描,扫描链接更多,扫描也更全面)
命令:
xray.exe webscan --basic-crawler http://127.0.0.1/DVWA-master/vulnerabilities/sqli/ --json-output basic-crawler.json
说明:使用爬虫模式,先对指定的url进行爬虫,然后再进行扫描,结果以json格式的文件输出
注意:其中的爬虫深度可以设置,具体位置为配置文件config.yml中basic-crawler参数的max_depth,设置为0为无限制
3.HTTP代理模式
参数:--listen
HTTP代理扫描逻辑:
说明:代理模式下的基本架构为,扫描器作为中间人,首先原样转发流量,并返回服务器响应给浏览器等客户端,通讯两端都认为自己直接与对方对话,同时记录该流量,然后修改参数并重新发送请求进行扫描。
1、Xray本地监听8080端口,用户通过浏览器代理将访问的流量转发给8080端口
2、Xray作为中间人扫描处理浏览器转发过来的流量,然后转发给服务端
3、服务端响应给Xray,Xray扫描处理响应包,Xray转发给用户
扫描配置:
1、Xray本地监听8080端口
命令:xray.exe webscan --listen http://127.0.0.1:8080 --html-output test.html
说明:Xray监听本地的8080端口,结果通过html格式输出,该模式的好吃就是通过人为手动点击需要扫描的URL,相比前面两种扫描方式,扫描准确度更好,更多适用于手工渗透测试场景。
3、配置CA证书
在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。
火狐浏览器配置证书如下:
打开设置,找到隐私与安全中的证书,查看证书。
导入证书,选择生成的证书xray.exe genca即可在安装目录生成证书。
信任证书即可
4、扫描报告:
四:指定插件扫描
说明:Xray本身的工作原理就是通过调用插件进行漏洞探测的,有些场景下想针对某个URL进行某一类漏洞的探测
参数:--pulgins
命令:
xray.exe webscan --plugins xss --url http://example.com --html-output plugins.html
说明:针对该URL只进行xss漏洞的探测,探测结果以html格式输出
其中的–pulgins参数可指定的漏洞探测插件如下:在这里插入图片描述
六、结果输出
说明:漏洞扫描和运行时的状态统称为结果输出,xray 定义了如下几种输出方式:
1、Stdout (屏幕输出, 默认开启)
2、JSON 文件输出
参数: --json-output result.json
3、HTML 报告输出
参数:–html-output result.html
4、Webhook输出
参数: --webhook-output
1.xray 配置文件中默认不允许扫描 gov 和 edu 等网站,如果想对这些网站进行授权测试,需要移除 hostname_disallowed 的相关配置才可以。
2.为了避免非法扫描未授权的网站,可在配置文件中config.yaml中进行修改配置。修改地址:mitm 中 restriction 中 hostname_allowed 增加你要测试的网站地址。支持:xx.com、*.xx.com 、IP地址、IP地址网段等。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。