spring4shell-scan CVE-2022-22963/22965 扫描工具安装使用

一、软件简介

  主要用于检测 Spring4Shell(CVE-2022-22965)和 Spring Cloud 远程代码执行(CVE-2022-22963)漏洞的扫描工具,而且可以绕过 Web 应用防火墙。

二、软件功能

支持 URL 列表。
针对 10 多种新的 Spring4Shell 攻击载荷进行模糊测试(此前所见工具仅使用 1 - 2 种变体)。
针对 HTTP GET 和 POST 方法进行模糊测试。
发现漏洞后自动进行验证。
采用随机且非侵入式的攻击载荷。
具备绕过 Web 应用防火墙(WAF)的攻击载荷。

三、软件安装

git clone https://github.com/fullhunt/spring4shell-scan.git
pip3 install -r requirements.txt
1、使用虚拟环境安装
python3 -m venv myenv          #创建一个虚拟环境
source myenv/bin/activate        #激活虚拟环境
pip install -r requirements.txt  #安装依赖
deactivate                       #使用完成后,退出虚拟环境
2、docker安装
git clone https://github.com/fullhunt/spring4shell-scan.git
cd spring4shell-scan
sudo docker build -t spring4shell-scan .
sudo docker run -it --rm spring4shell-scan

# With URL list "urls.txt" in current directory
docker run -it --rm -v $PWD:/data spring4shell-scan -l /data/urls.txt

四、使用方法

# ./spring4shell-scan.py -h
spring4shell-scan.py [-h] [-u URL] [-p PROXY] [-l USEDLIST] [--payloads-file PAYLOADS_FILE] [--waf-bypass] [--request-type REQUEST_TYPE] [--test-CVE-2022-22963]
1、可选参数
-h, --help 显示此帮助信息并退出
-u URL, --url URL 检查单个 URL。
-p PROXY, --proxy PROXY
通过代理发送请求
-l USEDLIST, --list USEDLIST
检查 URL 列表。
--payloads - file PAYLOADS_FILE
攻击载荷文件 - [默认值:payloads.txt]。
--waf - bypass 使用绕过 Web 应用防火墙(WAF)的攻击载荷扩展扫描。
--request - type REQUEST_TYPE
请求类型:(get, post, all) - [默认值:all]。
--test - CVE - 2022 - 22963
检测 CVE - 2022 - 22963(Spring Cloud 远程代码执行漏洞)。
2、扫描一个URL
$ python3 spring4shell-scan.py -u https://spring4shell.xxx.com
3、扫描URL集合
$ python3 spring4shell-scan.py -u https://spring4shell.lab.secbot.local --waf-bypass  #waf绕过
$ python3 spring4shell-scan.py -l urls.txt                        #扫描一个URL集合
$ python3 spring4shell-scan.py -l urls.txt --test-CVE-2022-22963  #扫描Spring Cloud RCE (CVE-2022-22963)