SpringBoot渗透扫描Scan工具

📝 文章核心信息速览

一、工具概述

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

bash 复制代码
https://github.com/AabyssZG/SpringBoot-Sca

二、安装Python依赖库

python 复制代码
pip install -r requirements.txt

如果pip安装速度慢,可以采用国内源进行安装:

python 复制代码
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

三、工具使用

如何找到互联网上的Spring框架,ZoomEye语法如下:

python 复制代码
app:"Spring Framework"

Fofa语法如下:

python 复制代码
icon_hash="116323821"||body="Whitelabel Error Page"

查看使用命令

python 复制代码
python .\SpringBoot-Scan.py -h

🛠️ 工具功能与使用详解

该工具主要围绕资产测绘、信息泄露扫描、漏洞利用三个核心维度展开,并提供了丰富的自定义选项。

资产测绘

对接了主流空间搜索引擎的API,可批量下载Spring资产数据。

  • ZoomEye : python3 SpringBoot-Scan.py -z <ZoomEye的API-KEY>
  • Fofa : python3 SpringBoot-Scan.py -f <Fofa的API-KEY> (Fofa语法: icon_hash="116323821"||body="Whitelabel Error Page")
  • Hunter (鹰图) : python3 SpringBoot-Scan.py -y <Hunter的API-KEY>
扫描与利用

针对单个目标或批量目标,进行不同深度的测试。

  • 信息泄露扫描 : 爆破敏感端点。
    • -u http://example.com/ (单个)
    • -uf url.txt (批量)
  • 漏洞扫描与利用 : 测试高危漏洞,支持RCE。
    • -v http://example.com/ (单个)
    • -vf url.txt (批量,结果保存至 vulout.txt)
  • 敏感文件下载 : 尝试下载Heapdump等文件。
    • -d http://example.com/ (单个)
    • -df url.txt (批量,结果保存至 dumpout.txt)
高级配置

增强工具的适用性和隐蔽性。

  • 使用代理 : -p <代理IP:端口> (支持HTTP认证)
  • 自定义请求头 : -t header.txt (需自行编辑header.txt文件)
  • 并发与延时: 批量扫描时可设置并发数(默认10)和延时。

💡 关键补充信息

  • 安装依赖 : 使用 pip install -r requirements.txt 安装,推荐使用国内镜像源加速。
  • 核心字典 : 内置了 Dir.txt (敏感端点字典) 用于爆破,基本覆盖了常见的Spring Boot端点。
  • 声明: 工具仅供学习交流,严禁用于非法用途。

📊 命令参数速查表

功能分类 命令参数 说明
信息泄露扫描 -u <URL> 对单一URL进行敏感端点爆破
-uf <FILE> 读取文件中的URL列表进行批量扫描
漏洞扫描利用 -v <URL> 对单一URL进行漏洞利用(支持RCE)
-vf <FILE> 读取文件进行批量漏洞验证,结果保存至vulout.txt
敏感文件下载 -d <URL> 扫描并尝试下载Spring Boot敏感文件
-df <FILE> 批量扫描敏感文件,成功结果保存至dumpout.txt
资产测绘 -z <KEY> 使用ZoomEye API获取Spring资产
-f <KEY> 使用Fofa API获取Spring资产
-y <KEY> 使用Hunter (鹰图) API获取Spring资产
高级选项 -p <PROXY> 使用HTTP代理(如 127.0.0.1:8080)
-t <FILE> 从文件中导入自定义HTTP请求头
相关推荐
实名上网宋凯宣4 小时前
Django
后端·python·django
天河归来5 小时前
第三方接口不稳定,如何让核心任务继续完成
java·大数据
Knight_AL6 小时前
Java 文件下载时文件名中的 `#` 被转换成 `%23`?一次 URL 编码与解码问题排查
java·开发语言
利威尔xu6 小时前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF7 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
砚底藏山河7 小时前
python量化自定义周期 K 线合成
java·开发语言·数据库·python·金融
慢云智慧空间7 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu7 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
猿究院_夏燊8 小时前
MySQL 的四种隔离级别
java·数据库·mysql
薛定谔的猫-菜鸟程序员8 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师