xray
基本介绍
xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成
在使用该工具前,请确保已仔细阅读 免责声明,并已同意声明中的各条款。
特性(characterization)
- 检测速度快。发包速度快; 漏洞检测算法效率高。
- 支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均可以支持。
- 代码质量高。编写代码的人员素质高, 通过 Code Review、单元测试、集成测试等多层验证来提高代码可靠性。
- 高级可定制。通过配置文件暴露了引擎的各种参数,通过修改配置文件可以客制化功能。
- 安全无威胁。xray 定位为一款安全辅助评估工具,而不是攻击工具,内置的所有 payload 和 poc 均为无害化检查。
支持检测的漏洞类型(Vulnerability Types)
名称 | 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系列漏洞 |
其中 POC 框架默认内置 Github 上贡献的 POC 和部分CT stack上收录的 POC,用户也可以根据需要自行构建 POC 并运行。
设计理念(Design Concept)
简易架构(simple architecture)
了解 xray 的整体架构可以更好的理解 cli 和配置文件的设置,方便大家更好的使用。
整体来看,扫描器这类工具大致都是由三部分组成:
- 来源处理
- 漏洞检测
- 结果输出
来源处理(Source processing)
这一部分的功能是整个漏洞检测的入口,在 xray 中我们定义了 5 个入口,分别是
- HTTP 被动代理
- 简易爬虫
- 单个 URL
- URL列表的文件
- 单个原始 HTTP 请求文件
漏洞检测(Detection)
这一部分是引擎的核心功能,用于处理前面 来源处理 部分产生的标准化的请求。用户可以针对性的启用插件,配置扫描插件的参数,配置 HTTP 相关参数等。
结果输出(Output)
漏洞扫描和运行时的状态统称为结果输出,xray 定义了如下几种输出方式:
- Stdout (屏幕输出, 默认开启)
- JSON 文件输出
- HTML 报告输出
- Webhook 输出
在使用 xray 的过程中只要谨记这三个部分,所有的命令行用法就看起来很简单了。 接下来就让我们上路吧。