Web漏洞扫描器-Xray
作者:互联网
- 下载地址:https://github.com/chaitin/xray/releases
- 使用环境:Windows、Linux、macOS皆可
- 工具说明:Xray扫描器是一款功能强大的安全评估工具。支持主动、被动多种扫描方式,支持常见Web漏洞的自动化检测,可以灵活定义POC,功能丰富,调用简单,支持多种操作系统。
- 官方使用文档:https://docs.xray.cool/#/tutorial/introduce
- 安装: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并运行。
Xray配置介绍
Xray目录下的config.yaml文件包含了所有的配置信息,配置主要是六个大类:plugins、log、mitm、basic_crawler、reverse、http
- 设置允许扫描的域名 includes:是允许扫描的域名,excludes:是不允许扫描的域名,可以使用星号(表示所有)匹配
- 扫描插件配置 插件配置修改主要是开启和关闭,默认是全部开启,扫描时检测全部类型的漏洞,不需要检测的漏洞类型修改为false;扫描时也可以指定插件,如-plugins xss,xxe,cmd_injection
- 发包速率限制 防止请求太快被WAF拦截,可以将每秒请求数减小,默认每秒500
- 扫描代理配置 设置代理可以与Burpsuite等其他软件联动使用
运行
下载对应系统的版本后,来查看下 xray 的版本号。
下载后,右键解压,就可以得到 xray_windows_amd64.exe
文件了(有的解压软件还会创建一个 xray_windows_amd64.exe
的文件夹,不要和最终的可执行文件混淆了)。
使用桌面左下方的的搜索框,输入 PowerShell
,点击 Windows PowerShell
,进入命令终端。
然后 cd
到下载目录,运行 .\xray_windows_amd64_protected.exe version
即可查看 xray 的版本号。
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503505-993904140.png)
生成ca证书
在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。
运行 .\xray_windows_amd64_protected.exe genca
运行命令之后,将在当前文件夹生成 ca.crt
和 ca.key
两个文件。
本命令只需要第一次使用的时候运行即可,如果文件已经存在再次运行会报错,需要先删除本地的 ca.crt
和 ca.key
文件。
双击 ca.crt
,然后按照下图的步骤操作。
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503532-772547637.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503530-1305571435.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503530-2003442034.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503500-2093399477.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503509-1833639014.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503525-1970424910.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503518-2120966185.png)
![](https://www.icode9.com/i/l/?n=22&i=blog/2236821/202205/2236821-20220516074503474-894292962.png)
快速使用
使用基础爬虫爬取并对爬虫爬取的链接进行漏洞扫描
xray webscan --basic-crawler http://example.com --html-output vuln.html
使用 HTTP 代理进行被动扫描
xray webscan --listen 127.0.0.1:7777 --html-output proxy.html
设置浏览器 http 代理为 http://127.0.0.1:7777
,就可以自动分析代理流量并扫描。
如需扫描 https 流量,请阅读下方文档
抓取 https 流量
部分
只扫描单个 url,不使用爬虫
xray webscan --url http://example.com/?a=b --html-output single-url.html
手动指定本次运行的插件
默认情况下,将会启用所有内置插件,可以使用下列命令指定本次扫描启用的插件。
xray webscan --plugins cmd-injection,sqldet --url http://example.com
xray webscan --plugins cmd-injection,sqldet --listen 127.0.0.1:7777
指定插件输出
可以指定将本次扫描的漏洞信息输出到某个文件中:
xray webscan --url http://example.com/?a=b \
--text-output result.txt --json-output result.json --html-output report.html
其他用法请阅读文档: https://docs.xray.cool
标签:Web,扫描器,--,检测,ca,xray,扫描,Xray,key 来源: https://www.cnblogs.com/NoCirc1e/p/16275588.html