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 的版本号。
image.png

生成ca证书

在浏览器使用 https 协议通信的情况下,必须要得到客户端的信任,才能建立与客户端的通信。
这里的突破口就是 ca 证书。只要自定义的 ca 证书得到了客户端的信任,xray 就能用该 ca 证书签发各种伪造的服务器证书,从而获取到通信内容。
运行.\xray_windows_amd64_protected.exe genca
运行命令之后,将在当前文件夹生成 ca.crt 和 ca.key 两个文件。
本命令只需要第一次使用的时候运行即可,如果文件已经存在再次运行会报错,需要先删除本地的 ca.crt 和 ca.key 文件。
双击 ca.crt,然后按照下图的步骤操作。
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.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

posted @ 2024-05-04 21:40  NoCirc1e  阅读(215)  评论(0编辑  收藏  举报