针对Spring-Boot 框架漏洞的初探
字数 1701 2025-08-20 18:17:59
Spring Boot框架漏洞分析与利用指南
0x1 前言
本文全面介绍Spring Boot框架漏洞的利用方法,重点分析Spring Boot接口信息泄露漏洞,并提供自动化扫描工具的使用指南。
0x2 Spring框架概述
Spring是一个开源的Java框架,主要特性包括:
- 控制反转(IOC)
- 面向切面编程(AOP)
- 可管理web层、业务层、dao层和持久层组件
Spring生态系统包含五个核心部分:
- Spring Framework
- Spring Boot
- Spring Cloud
- Spring Security
- Spring MVC
0x3 信息收集方法
一、通过icon图标识别
使用FOFA等网络空间测绘引擎搜索Spring Boot默认图标资产:
- 搜索语法:
icon_hash="116323821" - 可找到约80万条资产数据(注意部分服务可能更改了默认图标)
二、通过网页内容识别
识别特征:
- 经典的Spring Boot报错页面包含"Whitelabel Error Page"关键字
- FOFA搜索语法:
body="Whitelabel Error Page"
0x4 渗透测试:Spring Boot接口敏感信息泄露
自动化扫描工具
推荐使用SpringBoot-Scan工具:
- 项目地址:https://github.com/AabyssZG/SpringBoot-Scan
- 使用语法:
python SpringBoot-Scan.py -u url - 扫描结果保存在urlout.txt文件中
手工测试方法
当自动化工具被拦截或无效时,可尝试手工测试以下常见Actuator端点:
| 端点路径 | 泄露信息类型 |
|---|---|
| /actuator | 查看开放的Actuator端点 |
| /actuator/auditevent | 应用程序审计事件信息 |
| /actuator/beans | 应用程序bean信息 |
| /actuator/conditions | 配置和自动配置类条件评估信息 |
| /actuator/configprops | @ConfigurationProperties bean信息 |
| /actuator/env | 全部环境属性(敏感值会被*替换) |
| /actuator/flyway | Flyway数据库迁移信息 |
| /actuator/health | 应用程序运行状况信息 |
| /actuator/heapdump | JVM堆转储(可能包含敏感数据) |
| /actuator/httptrace | HTTP请求-响应交换信息(可能泄露Cookie) |
| /actuator/info | 应用程序通用信息 |
| /actuator/loggers | 服务器日志级别 |
重点漏洞分析
-
/actuator/env目录账号密码泄露
- 可能泄露数据库连接信息、API密钥等
- 注意:部分敏感值会被自动替换为*
-
/actuator/heapdump堆转储分析
- 堆转储文件通常为50M-500M(可能超过2G)
- 可能包含数据库密码明文等敏感信息
- 分析工具:
- heapdump_tool:https://github.com/wyzxxz/heapdump_tool
- 使用命令:
# 自动化分析 java -jar JDumpSpider-1.1-SNAPSHOT-full.jar heapdump # 手动分析 java -jar heapdump_tool.jar heapdump
-
/actuator/httptrace端点
- 可能泄露用户HTTP请求的Cookie数据
0x5 总结
本文详细介绍了Spring Boot框架漏洞的发现和利用方法,重点分析了Actuator端点信息泄露漏洞。通过自动化扫描和手工测试相结合的方式,可以有效发现Spring Boot应用中的敏感信息泄露问题。
参考工具
- SpringBoot-Scan: https://github.com/AabyssZG/SpringBoot-Scan
- heapdump_tool: https://github.com/wyzxxz/heapdump_tool