针对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生态系统包含五个核心部分:

  1. Spring Framework
  2. Spring Boot
  3. Spring Cloud
  4. Spring Security
  5. Spring MVC

0x3 信息收集方法

一、通过icon图标识别

使用FOFA等网络空间测绘引擎搜索Spring Boot默认图标资产:

  • 搜索语法:icon_hash="116323821"
  • 可找到约80万条资产数据(注意部分服务可能更改了默认图标)

二、通过网页内容识别

识别特征:

  1. 经典的Spring Boot报错页面包含"Whitelabel Error Page"关键字
  2. FOFA搜索语法:body="Whitelabel Error Page"

0x4 渗透测试:Spring Boot接口敏感信息泄露

自动化扫描工具

推荐使用SpringBoot-Scan工具:

手工测试方法

当自动化工具被拦截或无效时,可尝试手工测试以下常见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 服务器日志级别

重点漏洞分析

  1. /actuator/env目录账号密码泄露

    • 可能泄露数据库连接信息、API密钥等
    • 注意:部分敏感值会被自动替换为*
  2. /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
        
  3. /actuator/httptrace端点

    • 可能泄露用户HTTP请求的Cookie数据

0x5 总结

本文详细介绍了Spring Boot框架漏洞的发现和利用方法,重点分析了Actuator端点信息泄露漏洞。通过自动化扫描和手工测试相结合的方式,可以有效发现Spring Boot应用中的敏感信息泄露问题。

参考工具

  1. SpringBoot-Scan: https://github.com/AabyssZG/SpringBoot-Scan
  2. heapdump_tool: https://github.com/wyzxxz/heapdump_tool
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 使用命令: /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