xray-webscan使用教程
xray-webscan
快速使用
扫描一个站点
最简单的方式是直接调用,扫描一个指定的站点,如:
1 | ./xray webscan --basic-crawler http://example.com/ |
这可能是最简单最常用的一个功能,就是太长了,体验不太友好,建议常用的同学可以
alias xray="/path/xray webscan --basic-crawler"
指定扫描输出
不指定输出时,默认输出到控制台的标准输出中,可以做管道处理,也可以选择输出为文件,如:
1 | ./xray webscan --url http://example.com/ --json-output report.json |
不同参数对应不同的输出方式:
- 无参数:输出到控制台的标准输出
--text-output
:输出到文本文件中--json-output
:输出到 JSON 文件中--html-output
:输出到 HTML 文件中
基于代理的被动扫描
xray 可以通过类似 Burp 的方式启动,利用 HTTP 代理来抓包扫描,如:
1 | ./xray webscan --listen 127.0.0.1:7777 |
如果运行没报任何错就可以设置浏览器 HTTP 代理为 127.0.0.1:7777
了,关于如何设置浏览器代理,请打开百度搜索 “浏览器设置代理”。
代理设置 OK 以后就可以启动代理扫描了,这时候我们打来浏览器尽情冲浪吧,理论上我们的鼠标点到哪 xray 就能扫到哪。
需要注意一下的是,很多时候还会扫到 HTTPS 站点,可能会因为有代理而导致无法访问,或者需要手动确认安全风险。这时候需要我们导入 xray 运行目录下的 ca.crt
证书,关于如何导入 CA 证书,请打开百度搜索 “安装CA证书”。
1 | ➜ ls |
高级姿势
指定扫描插件
使用 --plugins
参数可以选择仅启用部分扫描插件,多个插件之间可使用逗号分隔,如:
1 | ./xray webscan --plugins cmd_injection --url http://example.com/ |
目前提供的插件列表如下:
- SQL 注入检测 (key: sqldet)
支持报错注入、布尔注入和时间盲注等 - XSS 检测(key: xss)
支持扫描反射型、存储型 XSS - 命令/代码注入检测 (key: cmd_injection)
支持 shell 命令注入、PHP 代码执行、模板注入等 - 目录枚举 (key: dirscan)
检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件 - 路径穿越检测 (key: path_traversal)
支持常见平台和编码 - XML 实体注入检测 (key: xxe)
支持有回显和反连平台检测 - POC 管理 (key: phantasm)
默认内置部分常用的 POC,用户可以根据需要自行构建 POC 并运行。可参考:POC 编写文档 - 文件上传检测 (key: upload)
支持检测常见的后端服务器语言的上传漏洞 - 弱口令检测 (key: brute_force)
支持检测 HTTP 基础认证和简易表单弱口令,内置常见用户名和密码字典 - JSONP 检测 (key: jsonp)
检测包含敏感信息可以被跨域读取的 jsonp 接口 - SSRF 检测 (key: ssrf)
ssrf 检测模块,支持常见的绕过技术和反连平台检测 - 基线检查 (key: baseline)
检测低 SSL 版本、缺失的或错误添加的 http 头等 - 任意跳转检测 (key: redirect)
支持 HTML meta 跳转、30x 跳转等 - CRLF 注入 (key: crlf_injection)
检测 HTTP 头注入,支持 query、body 等位置的参数 - …
只扫描一个 URL
xray 还提供了方便的只扫描一个 URL 的方式,如:
1 | ./xray webscan --url http://example.com/ --json-output out.json |
Comments
Comment plugin failed to load
Loading comment plugin