一、软件简介
主要用于检测 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]
-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)

