前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小记 - Xray

小记 - Xray

作者头像
Naraku
发布2021-07-29 11:03:49
1.4K0
发布2021-07-29 11:03:49
举报
文章被收录于专栏:Naraku的专栏

安装

Xray是一款功能强大的安全评估工具,支持常见Web漏洞的自动化监测,可以在Github免费下载。且Xray为单文件命令行工具,自带所有依赖,解压即可使用无需安装。

这里将解压出来的xray_windows_amd64.exe重命名为xray.exe,并添加进环境变量,方便调用。测试一下

xray-1
xray-1

目前支持的漏洞检测类型包括:

  • 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)

基本用法

测试站点:http://testphp.vulnweb.com

基础爬虫模式

代码语言:javascript
复制
$ xray webscan --basic-crawler http://testphp.vulnweb.com/
xray-2
xray-2

结果输出

  • 默认:控制台输出
  • --json-output:JSON文件输出
  • --html-output-:HTML报告输出
  • --webhook-output:Webhook输出
代码语言:javascript
复制
$ xray webscan --basic-crawler http://testphp.vulnweb.com/ --text-output vulnweb.txt

被动代理模式

官方文档:代理模式

  • 安装浏览器代理插件。如SwitchyOmegaFoxyProxy
  • 启动xray,生成CA证书。运行以下命令,将在当前文件夹生成 ca.crtca.key 两个文件
代码语言:javascript
复制
$ xray genca
  • 安装并信任生成证书,ChromeIE等浏览器可以直接双击生成的ca.crt证书文件,导入系统证书即可
xray-3
xray-3

而Firefox拥有自己的证书系统,不信任系统证书,因此需要另一种方法导入证书

xray-4
xray-4

第一次启动Xray,会在当前目录下生成配置文件。若配置被动代理模式,需要增加过滤,只扫描指定目标站点,避免扫描到未授权站点。

  • 过滤站点:打开配置文件 config.yaml ,搜索mitm:,将 restrictionincludes* 改为 目标站点,如testphp.vulnweb.com
代码语言:javascript
复制
mitm:
  ...
  restriction:
    includes:
    - "testphp.vulnweb.com"
  • 启动Xray代理
代码语言:javascript
复制
$ xray webscan --listen 127.0.0.1:6666 --html-output proxy.html
  • 配置浏览器开始扫描
xray-5
xray-5

常用配置

指定扫描域

  • mitm->restriction
    • includes:允许扫描的域
    • excludes:不允许扫描的域
代码语言:javascript
复制
mitm:
  ...
  restriction:
    includes: # 允许扫描的域,此处无协议
    - '*' # 表示允许所有的域名和 path
    - 'example.com' # 表示允许 example.com 下的所有 path
    - "example.com/admin*" # 表示允许 example.com 下的 /admin 开头的 path
  ...

添加认证

  • mitm->auth

配置认证:

代码语言:javascript
复制
mitm:
  ...
  auth:
    username: "naraku"
    password: "123456"
  ...

然后重新开启扫描:

代码语言:javascript
复制
$ xray webscan --listen 127.0.0.1:6666 --html-output output.html

此时使用浏览器访问目标站点,会弹出认证框

xray-6
xray-6

插件配置

  • plugins
  • 直接在配置文件中将plugins配置项下插件enable修改为false,即可禁用对应插件
  • 命令行中使用 --plugins 参数,可以选择仅启用部分插件,英文逗号分割
代码语言:javascript
复制
$ xray webscan --listen 127.0.0.1:8081 --plugins xss,xxe
代码语言:javascript
复制
SQL注入检测 (sqldet): 支持报错注入、布尔注入和时间盲注等
XSS检测(xss): 支持扫描反射型、存储型 XSS
命令/代码注入检测(cmd_injection): 支持 shell 命令注入、PHP 代码执行、模板注入等
目录枚举 (key: dirscan): 检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件
路径穿越检测( path_traversal): 支持常见平台和编码
XML 实体注入检测(xxe): 支持有回显和反连平台检测
POC 管理( phantasm): 默认内置部分常用的 POC,用户可以根据需要自行构建 POC 并运行。可参考:POC 编写文档(https://chaitin.github.io/xray/#/guide/poc)
文件上传检测(upload): 支持检测常见的后端服务器语言的上传漏洞
弱口令检测(brute_force): 支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典
JSONP检测(jsonp): 检测包含敏感信息可以被跨域读取的 jsonp 接口
SSRF检测(ssrf): ssrf 检测模块,支持常见的绕过技术和反连平台检测
基线检查 (baseline): 检测低 SSL 版本、缺失的或错误添加的 http 头等
任意跳转检测(redirect): 支持 HTML meta 跳转、30x 跳转等
CRLF注入(crlf_injection): 检测 HTTP 头注入,支持 query、body 等位置的参数

发包速率

  • http->max_qps
代码语言:javascript
复制
http:
  ...
  max_qps: 10 # 每秒最大请求数
  ...

扫描代理

  • http->proxy
代码语言:javascript
复制
http:
  proxy: "http://ip:port" # 漏洞扫描时使用的代理

高级用法

Burp&Xray

官方文档:使用 Burp 与 xray 进行联动

Burp作Xray上游

访问过程:浏览器 > Xray > Burp > 服务器

  • 配置Xray上游代理,即修改配置文件中的扫描代理为Burp的监听端口
代码语言:javascript
复制
http:
  proxy: "http://127.0.0.1:8080" # 漏洞扫描时使用的代理
  • 在浏览器配置监听Xray代理端口,如127.0.0.1:6666
  • 启用Xray
代码语言:javascript
复制
$ xray webscan --listen 127.0.0.1:6666 --plugins xss
xray-7
xray-7
Xray作Burp上游

访问过程:浏览器 > Burp > Xray > 服务器

经过Burp放行的包,才交由Xray进行扫描,否则直接在Burp处丢弃

  • Burp中配置监听Xray代理端口,如127.0.0.1:6666
  • 浏览器端配置为Burp监听端口,如127.0.0.1:8080
  • 启用Xray
代码语言:javascript
复制
$ xray webscan --listen 127.0.0.1:6666
xray-8
xray-8

自动告警

官方文档:对接 xray 和微信实现自动告警


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020 年 03 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装
  • 基本用法
    • 基础爬虫模式
      • 结果输出
        • 被动代理模式
        • 常用配置
          • 指定扫描域
            • 添加认证
              • 插件配置
                • 发包速率
                  • 扫描代理
                  • 高级用法
                    • Burp&Xray
                      • Burp作Xray上游
                      • Xray作Burp上游
                    • 自动告警
                    相关产品与服务
                    脆弱性检测服务
                    脆弱性检测服务(Vulnerability detection Service,VDS)在理解客户实际需求的情况下,制定符合企业规模的漏洞扫描方案。通过漏洞扫描器对客户指定的计算机系统、网络组件、应用程序进行全面的漏洞检测服务,由腾讯云安全专家对扫描结果进行解读,为您提供专业的漏洞修复建议和指导服务,有效地降低企业资产安全风险。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档