目录

1、部署 xray

2、部署测试靶场

jdk8 安装

tomcat 部署

3、测试

基础 web 扫描

GET 请求的扫描:

POST 请求的扫描

参数和选项说明


1、部署 xray

选择最新的 xray 社区版下载

Releases · chaitin/xray · GitHub

解压后运行:

./xray_linux_amd64 -h

如果报错:

./xray_linux_amd64: error while loading shared libraries: libpcap.so.0.8: cannot open shared object file: No such file or directory

解决报错:

sudo yum install libpcap sudo ldconfig find / -name *libpcap* # 使用安装好的 libcap 库生成需要的软连接(根据自己实际的库文件名) ln -s /usr/lib64/libpcap.so.1 /usr/lib64/libpcap.so.0.8

2、部署测试靶场

jdk8 安装

sudo yum -y install java-1.8.0-openjdk.x86_64 java-11-openjdk-devel.x86_64

tomcat 部署

Apache Tomcat® – Apache Tomcat 8 Software Downloads 下载Core 标题下的包,并解压

下载靶场:

Releases · baidu-security/openrasp-testcases · GitHub vulns.war

将靶场 vulns.war 放入 tomcat 的 webapps 目录下

进入 tomcat 的 bin 目录下,启动 tomcat

chmod +x *sh ./catalina.sh start

3、测试

基础 web 扫描

对于需要登录的网站,要在 xray 的 config.yaml 文件中配置 cookie

GET 请求的扫描:
./xray_linux_amd64 webscan --plugins cmd-injection,sqldet --url http://127.0.0.1:8080/vulns/004-command-2.jsp" />POST 请求的扫描 
./xray_linux_amd64 webscan --plugins cmd-injection,sqldet --url http://127.0.0.1:8080/vulns/004-command-2.jsp --data cmd=ls --html-output vulns-result__datetime__.html
参数和选项说明

webscan : web 扫描模式

--plugins : 扫描插件类型,不指定则使用全部插件,对应插件 key如下(也可以:./xray_linux_amd64 webscan -l 查看所有插件)

插件名称

Key

版本

说明

XSS漏洞检测

xss

社区版

利用语义分析的方式检测XSS漏洞

SQL 注入检测

sqldet

社区版

支持报错注入、布尔注入和时间盲注等

命令/代码注入检测

cmd-injection

社区版

支持 shell 命令注入、PHP 代码执行、模板注入等

目录枚举

dirscan

社区版

检测备份文件、临时文件、debug 页面、配置文件等10余类敏感路径和文件

路径穿越检测

path-traversal

社区版

支持常见平台和编码

XML 实体注入检测

xxe

社区版

支持有回显和反连平台检测

文件上传检测

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系列漏洞

--url : 目标模式,扫描单个目标 url, 带参数能提高准确性

  • 多个目标用 --url-file
  • 直接用 http 请求包:--raw-request

--data : post 的数据

--html-output : html 输出格式,也可以指定 --json-output、--text-output,后面的输出文件名如果包含__timestamp__或__datetime__将自动替换为实际值