针对SpringBoot的开源渗透框架,以及Spring相关高危漏洞利用工具
See the code日常渗透过程中,经常会碰到Spring Boot搭建的微服务,于是就想做一个针对Spring Boot的开源渗透框架,主要用作扫描Spring Boot的敏感信息泄露端点,并可以直接测试Spring的相关高危漏洞。于是,就写了这么一个工具:SpringBoot-Scan 【简称:“SB-Scan”(错乱】

本项目的GitCode地址:https://gitcode.com/AabyssZG/SpringBoot-Scan,当前工具版本号:V2.7.2-2025/11/09
我还整理了一篇SpringBoot的相关渗透姿势在我的个人博客,欢迎各位师傅前来交流哈哈:https://blog.zgsec.cn/archives/129.html
@iChet666 师傅的反馈,针对CVE-2021-21344 (Eureka_Xstream 反序列化漏洞) 在利用过程中可能导致破坏业务的情况,进行流程优化和Exp利用二次确认@ez-lbz 师傅提交的PR,添加支持CVE-2025-41243 (Spring Cloud Gateway环境属性修改漏洞)@ez-lbz 师傅提交的PR,添加支持CVE-2024-37084 (Spring Cloud Data Flow远程命令执行漏洞)后期将加入更多漏洞利用内置模块(各位师傅能不能赏个Star嘛~ 码代码挺辛苦的哈哈)
@kn1g78 师傅提交的PR,修复了端点扫描的若干BUG@ngc660sec 师傅提交的PR,对于自定义请求头进行类型判断,防止二次转换类型@ThumpBo 师傅提出的建议,增加了读取指定TXT批量扫描敏感文件的功能 -df 并将扫描成功结果导出至 dumpout.txt 内error.log@YanXi9999 师傅的贡献,在读取指定TXT并批量信息泄露扫描过程中,去除重复页面提高效率urlout.txtrun.py /POC探测 poc.py /漏洞利用 vul.py 这三个核心模块,新增全局变量 outtime = 10 可自由调整各模块HTTP访问超时时间@Viking 师傅,增加了部分 Dir.txt 敏感端点爆破字典的内容@Fkalis 师傅,使用 aiohttp 对批量信息泄露扫描进行并发处理,大大提高 -uf 参数的扫描速度hunterout.txtfofaout.txtzoomout.txterror.log@13exp 师傅友情制作GUI图形化版本http:// 即可)example.com 和http://example.com/ 以及http://example.com 都不会报错)example.com 和http://example.com/ 以及http://example.com 都不会报错,程序会自行判断并识别http:// 即可)example.com/test/ 这个路径部署了Spring项目,那直接将 example.com/test/ 传参给工具就行了)GUI图形化版本,由 @13exp 师傅友情制作,GUI地址:https://github.com/13exp/SpringBoot-Scan-GUI

注:因为本项目的 vul.py 和GUI项目均包含漏洞利用模块,杀软报毒和查杀为正常情况。如果觉得工具不错,师傅们可以点个Star哈哈~
pip install -r requirements.txt
如果pip安装速度慢,可以采用国内源进行安装:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
如何找到互联网上的Spring框架,ZoomEye语法如下:
app:"Spring Framework"
Fofa语法如下:
icon_hash="116323821"||body="Whitelabel Error Page"
本工具的参数如下:
# python3 SpringBoot-Scan.py
______ __ _______ __
/ \ | \ | \ | \
| $$$$$$\ ______ ______ \$$ _______ ______ | $$$$$$$\ ______ ______ _| $$_
| $$___\$$ / \ / \ | \| \ / \ | $$__/ $$ / \ / \| $$ \
\$$ \ | $$$$$$\| $$$$$$\| $$| $$$$$$$\| $$$$$$\| $$ $$| $$$$$$\| $$$$$$\\$$$$$$
_\$$$$$$\| $$ | $$| $$ \$$| $$| $$ | $$| $$ | $$| $$$$$$$\| $$ | $$| $$ | $$ | $$ __
| \__| $$| $$__/ $$| $$ | $$| $$ | $$| $$__| $$| $$__/ $$| $$__/ $$| $$__/ $$ | $$| \
\$$ $$| $$ $$| $$ | $$| $$ | $$ \$$ $$| $$ $$ \$$ $$ \$$ $$ \$$ $$
\$$$$$$ | $$$$$$$ \$$ \$$ \$$ \$$ _\$$$$$$$ \$$$$$$$ \$$$$$$ \$$$$$$ \$$$$
| $$ | \__| $$
| $$ \$$ $$ [+] V2.7.2-2025年 欢度国庆佳节版
\$$ \$$$$$$ [+] 感谢一路上支持和关注我们的师傅
______
/ \ +-------------------------------------+
| $$$$$$\ _______ ______ _______ + Version: 2.7.2 +
| $$___\$$ / \| \ | \ + Author: 曾哥(@AabyssZG) +
\$$ \ | $$$$$$$ \$$$$$$\| $$$$$$$\ + Whoami: https://github.com/AabyssZG +
_\$$$$$$\| $$ / $$| $$ | $$ +-------------------------------------+
| \__| $$| $$_____| $$$$$$$| $$ | $$ + 多进程速度提升: Fkalis +
\$$ $$ \$$ \\$$ $$| $$ | $$ + Whoami: github.com/WingBy-Fkalis +
\$$$$$$ \$$$$$$$ \$$$$$$$ \$$ \$$ +-------------------------------------+
用法:
对单一URL进行信息泄露扫描: python3 SpringBoot-Scan.py -u http://example.com/
读取目标TXT进行批量信息泄露扫描: python3 SpringBoot-Scan.py -uf url.txt
对单一URL进行漏洞扫描: python3 SpringBoot-Scan.py -v http://example.com/
读取目标TXT进行批量漏洞扫描: python3 SpringBoot-Scan.py -vf url.txt
扫描并下载SpringBoot敏感文件: python3 SpringBoot-Scan.py -d http://example.com/
读取目标TXT进行批量敏感文件扫描: python3 SpringBoot-Scan.py -df url.txt
使用HTTP代理并自动进行连通性测试: python3 SpringBoot-Scan.py -p <代理IP:端口>
从TXT文件中导入自定义HTTP头部: python3 SpringBoot-Scan.py -t header.txt
通过ZoomEye密钥进行API下载数据: python3 SpringBoot-Scan.py -z <ZoomEye的API-KEY>
通过Fofa密钥进行API下载数据: python3 SpringBoot-Scan.py -f <Fofa的API-KEY>
通过Hunter密钥进行API下载数据: python3 SpringBoot-Scan.py -y <Hunter的API-KEY>
本工具专门对接了 ZoomEye的API接口,使用API-KEY即可批量下载Spring的资产测绘数据:
python3 SpringBoot-Scan.py -z <ZoomEye的API-KEY>

注:目前该模块已经支持自定义语法的资产测绘导出;资产测绘结束后,会把通过API下载的结果导出到 zoomout.txt,就可以使用其他参数进行操作啦
本工具专门对接了 Fofa的API接口,使用API-KEY即可批量下载Spring的资产测绘数据:
python3 SpringBoot-Scan.py -f <Fofa的API-KEY>

注:目前该模块已经支持自定义语法的资产测绘导出;资产测绘结束后,会把通过API下载的结果导出到 fofaout.txt,就可以使用其他参数进行操作啦
本工具专门对接了 鹰图的API接口,使用API-KEY即可批量下载Spring的资产测绘数据:
python3 SpringBoot-Scan.py -y <Hunter的API-KEY>

注:目前该模块已经支持自定义语法的资产测绘导出;资产测绘结束后,会把通过API下载的结果导出到 hunterout.txt,就可以使用其他参数进行操作啦
python3 SpringBoot-Scan.py -p <代理IP:端口>
python3 SpringBoot-Scan.py -p <HTTP认证账号:HTTP认证密码@代理IP:端口>

比如我想对单一URL进行信息泄露扫描并使用代理
python3 SpringBoot-Scan.py -u example.com -p <代理IP:端口>
python3 SpringBoot-Scan.py -p <HTTP认证账号:HTTP认证密码@代理IP:端口>
同样,其他参数(-u / -uf / -v / -vf / -d)均可以配合代理使用
python3 SpringBoot-Scan.py -t header.txt

使用该自定义HTTP头部功能请自行更改 header.txt 内的内容,允许(-u / -uf / -v / -d)参数使用,因为批量漏洞扫描没有明确需求故没加入该功能
Dir.txt 为内置的Spring端点爆破字典,我基本收集齐了Spring Boot的相关敏感信息泄露端点
如果有遗漏,欢迎各位师傅跟我联系哈哈
python3 SpringBoot-Scan.py -u example.com

新增延时扫描选项,如果不想延时扫描输入 0 回车即可
注:扫描结束后,会把成功的结果导出为同目录下的 urlout.txt
python3 SpringBoot-Scan.py -uf url.txt

新增延时扫描选项,如果不想延时扫描输入 0 回车即可;感谢 @Fkalis 师傅,新增并发扫描选项,默认并发数为10
注:由于版本更新,在2.21版本之后,读取TXT并扫描的参数改为 uf,扫描结束后,会把成功的结果导出为同目录下的 output.txt
python3 SpringBoot-Scan.py -v example.com

已经实现RCE漏洞,命令自定义功能(不要拿去干坏事哦)
同时,后期将加入更多漏洞利用内置模块,请师傅们敬请期待~
python3 SpringBoot-Scan.py -vf url.txt

可以自由选择漏洞库里面的漏洞进行批量验证,扫描结束后将导出成功的内容至 vulout.txt 内
python3 SpringBoot-Scan.py -d example.com

注:扫描到的敏感文件,会自动下载到脚本的运行目录,有进度条可以看到实时下载进度
目前敏感文件目录内置了5个,如下:
actuator/heapdump
gateway/actuator/heapdump
heapdump
heapdump.json
hystrix.stream
artemis-portal/artemis/heapdump
python3 SpringBoot-Scan.py -df url.txt

扫描结束后将导出成功的内容至 dumpout.txt 内
如果有师傅有其他敏感文件的目录,可以提交issues,谢谢!!!
289 followers · starred Dec 2023
4 followers · starred Nov 2024
针对SpringBoot的开源渗透框架,以及Spring相关高危漏洞利用工具
See the code日常渗透过程中,经常会碰到Spring Boot搭建的微服务,于是就想做一个针对Spring Boot的开源渗透框架,主要用作扫描Spring Boot的敏感信息泄露端点,并可以直接测试Spring的相关高危漏洞。于是,就写了这么一个工具:SpringBoot-Scan 【简称:“SB-Scan”(错乱】

本项目的GitCode地址:https://gitcode.com/AabyssZG/SpringBoot-Scan,当前工具版本号:V2.7.2-2025/11/09
我还整理了一篇SpringBoot的相关渗透姿势在我的个人博客,欢迎各位师傅前来交流哈哈:https://blog.zgsec.cn/archives/129.html
@iChet666 师傅的反馈,针对CVE-2021-21344 (Eureka_Xstream 反序列化漏洞) 在利用过程中可能导致破坏业务的情况,进行流程优化和Exp利用二次确认@ez-lbz 师傅提交的PR,添加支持CVE-2025-41243 (Spring Cloud Gateway环境属性修改漏洞)@ez-lbz 师傅提交的PR,添加支持CVE-2024-37084 (Spring Cloud Data Flow远程命令执行漏洞)后期将加入更多漏洞利用内置模块(各位师傅能不能赏个Star嘛~ 码代码挺辛苦的哈哈)
@kn1g78 师傅提交的PR,修复了端点扫描的若干BUG@ngc660sec 师傅提交的PR,对于自定义请求头进行类型判断,防止二次转换类型@ThumpBo 师傅提出的建议,增加了读取指定TXT批量扫描敏感文件的功能 -df 并将扫描成功结果导出至 dumpout.txt 内error.log@YanXi9999 师傅的贡献,在读取指定TXT并批量信息泄露扫描过程中,去除重复页面提高效率urlout.txtrun.py /POC探测 poc.py /漏洞利用 vul.py 这三个核心模块,新增全局变量 outtime = 10 可自由调整各模块HTTP访问超时时间@Viking 师傅,增加了部分 Dir.txt 敏感端点爆破字典的内容@Fkalis 师傅,使用 aiohttp 对批量信息泄露扫描进行并发处理,大大提高 -uf 参数的扫描速度hunterout.txtfofaout.txtzoomout.txterror.log@13exp 师傅友情制作GUI图形化版本http:// 即可)example.com 和http://example.com/ 以及http://example.com 都不会报错)example.com 和http://example.com/ 以及http://example.com 都不会报错,程序会自行判断并识别http:// 即可)example.com/test/ 这个路径部署了Spring项目,那直接将 example.com/test/ 传参给工具就行了)GUI图形化版本,由 @13exp 师傅友情制作,GUI地址:https://github.com/13exp/SpringBoot-Scan-GUI

注:因为本项目的 vul.py 和GUI项目均包含漏洞利用模块,杀软报毒和查杀为正常情况。如果觉得工具不错,师傅们可以点个Star哈哈~
pip install -r requirements.txt
如果pip安装速度慢,可以采用国内源进行安装:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
如何找到互联网上的Spring框架,ZoomEye语法如下:
app:"Spring Framework"
Fofa语法如下:
icon_hash="116323821"||body="Whitelabel Error Page"
本工具的参数如下:
# python3 SpringBoot-Scan.py
______ __ _______ __
/ \ | \ | \ | \
| $$$$$$\ ______ ______ \$$ _______ ______ | $$$$$$$\ ______ ______ _| $$_
| $$___\$$ / \ / \ | \| \ / \ | $$__/ $$ / \ / \| $$ \
\$$ \ | $$$$$$\| $$$$$$\| $$| $$$$$$$\| $$$$$$\| $$ $$| $$$$$$\| $$$$$$\\$$$$$$
_\$$$$$$\| $$ | $$| $$ \$$| $$| $$ | $$| $$ | $$| $$$$$$$\| $$ | $$| $$ | $$ | $$ __
| \__| $$| $$__/ $$| $$ | $$| $$ | $$| $$__| $$| $$__/ $$| $$__/ $$| $$__/ $$ | $$| \
\$$ $$| $$ $$| $$ | $$| $$ | $$ \$$ $$| $$ $$ \$$ $$ \$$ $$ \$$ $$
\$$$$$$ | $$$$$$$ \$$ \$$ \$$ \$$ _\$$$$$$$ \$$$$$$$ \$$$$$$ \$$$$$$ \$$$$
| $$ | \__| $$
| $$ \$$ $$ [+] V2.7.2-2025年 欢度国庆佳节版
\$$ \$$$$$$ [+] 感谢一路上支持和关注我们的师傅
______
/ \ +-------------------------------------+
| $$$$$$\ _______ ______ _______ + Version: 2.7.2 +
| $$___\$$ / \| \ | \ + Author: 曾哥(@AabyssZG) +
\$$ \ | $$$$$$$ \$$$$$$\| $$$$$$$\ + Whoami: https://github.com/AabyssZG +
_\$$$$$$\| $$ / $$| $$ | $$ +-------------------------------------+
| \__| $$| $$_____| $$$$$$$| $$ | $$ + 多进程速度提升: Fkalis +
\$$ $$ \$$ \\$$ $$| $$ | $$ + Whoami: github.com/WingBy-Fkalis +
\$$$$$$ \$$$$$$$ \$$$$$$$ \$$ \$$ +-------------------------------------+
用法:
对单一URL进行信息泄露扫描: python3 SpringBoot-Scan.py -u http://example.com/
读取目标TXT进行批量信息泄露扫描: python3 SpringBoot-Scan.py -uf url.txt
对单一URL进行漏洞扫描: python3 SpringBoot-Scan.py -v http://example.com/
读取目标TXT进行批量漏洞扫描: python3 SpringBoot-Scan.py -vf url.txt
扫描并下载SpringBoot敏感文件: python3 SpringBoot-Scan.py -d http://example.com/
读取目标TXT进行批量敏感文件扫描: python3 SpringBoot-Scan.py -df url.txt
使用HTTP代理并自动进行连通性测试: python3 SpringBoot-Scan.py -p <代理IP:端口>
从TXT文件中导入自定义HTTP头部: python3 SpringBoot-Scan.py -t header.txt
通过ZoomEye密钥进行API下载数据: python3 SpringBoot-Scan.py -z <ZoomEye的API-KEY>
通过Fofa密钥进行API下载数据: python3 SpringBoot-Scan.py -f <Fofa的API-KEY>
通过Hunter密钥进行API下载数据: python3 SpringBoot-Scan.py -y <Hunter的API-KEY>
本工具专门对接了 ZoomEye的API接口,使用API-KEY即可批量下载Spring的资产测绘数据:
python3 SpringBoot-Scan.py -z <ZoomEye的API-KEY>

注:目前该模块已经支持自定义语法的资产测绘导出;资产测绘结束后,会把通过API下载的结果导出到 zoomout.txt,就可以使用其他参数进行操作啦
本工具专门对接了 Fofa的API接口,使用API-KEY即可批量下载Spring的资产测绘数据:
python3 SpringBoot-Scan.py -f <Fofa的API-KEY>

注:目前该模块已经支持自定义语法的资产测绘导出;资产测绘结束后,会把通过API下载的结果导出到 fofaout.txt,就可以使用其他参数进行操作啦
本工具专门对接了 鹰图的API接口,使用API-KEY即可批量下载Spring的资产测绘数据:
python3 SpringBoot-Scan.py -y <Hunter的API-KEY>

注:目前该模块已经支持自定义语法的资产测绘导出;资产测绘结束后,会把通过API下载的结果导出到 hunterout.txt,就可以使用其他参数进行操作啦
python3 SpringBoot-Scan.py -p <代理IP:端口>
python3 SpringBoot-Scan.py -p <HTTP认证账号:HTTP认证密码@代理IP:端口>

比如我想对单一URL进行信息泄露扫描并使用代理
python3 SpringBoot-Scan.py -u example.com -p <代理IP:端口>
python3 SpringBoot-Scan.py -p <HTTP认证账号:HTTP认证密码@代理IP:端口>
同样,其他参数(-u / -uf / -v / -vf / -d)均可以配合代理使用
python3 SpringBoot-Scan.py -t header.txt

使用该自定义HTTP头部功能请自行更改 header.txt 内的内容,允许(-u / -uf / -v / -d)参数使用,因为批量漏洞扫描没有明确需求故没加入该功能
Dir.txt 为内置的Spring端点爆破字典,我基本收集齐了Spring Boot的相关敏感信息泄露端点
如果有遗漏,欢迎各位师傅跟我联系哈哈
python3 SpringBoot-Scan.py -u example.com

新增延时扫描选项,如果不想延时扫描输入 0 回车即可
注:扫描结束后,会把成功的结果导出为同目录下的 urlout.txt
python3 SpringBoot-Scan.py -uf url.txt

新增延时扫描选项,如果不想延时扫描输入 0 回车即可;感谢 @Fkalis 师傅,新增并发扫描选项,默认并发数为10
注:由于版本更新,在2.21版本之后,读取TXT并扫描的参数改为 uf,扫描结束后,会把成功的结果导出为同目录下的 output.txt
python3 SpringBoot-Scan.py -v example.com

已经实现RCE漏洞,命令自定义功能(不要拿去干坏事哦)
同时,后期将加入更多漏洞利用内置模块,请师傅们敬请期待~
python3 SpringBoot-Scan.py -vf url.txt

可以自由选择漏洞库里面的漏洞进行批量验证,扫描结束后将导出成功的内容至 vulout.txt 内
python3 SpringBoot-Scan.py -d example.com

注:扫描到的敏感文件,会自动下载到脚本的运行目录,有进度条可以看到实时下载进度
目前敏感文件目录内置了5个,如下:
actuator/heapdump
gateway/actuator/heapdump
heapdump
heapdump.json
hystrix.stream
artemis-portal/artemis/heapdump
python3 SpringBoot-Scan.py -df url.txt

扫描结束后将导出成功的内容至 dumpout.txt 内
如果有师傅有其他敏感文件的目录,可以提交issues,谢谢!!!
289 followers · starred Dec 2023
4 followers · starred Nov 2024