Springboot Actuator未授权访问漏洞复现

简介: Springboot Actuator未授权访问漏洞复现

说明


前段时间很多师傅都发了这个漏洞,其他师傅已经写的很好了,所以在这里主要是看下该漏洞环境是如何搭建的。


1. 漏洞介绍


Spring Boot Actuator 模块提供了生产级别的功能,比如健康检查,审计,指标收集,HTTP 跟踪等,帮助监控和管理Spring Boot 应用。这个模块是一个采集应用内部信息暴露给外部的模块,上述的功能都可以通过HTTP 和 JMX 访问。

来源:https://mp.weixin.qq.com/s/qY-hBSa9u62TNB4-A4RZ9Q

ActuatorSpring 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

此时出现报错:

因为我们使用的没有IDE,所以在这可以用这个方法:

https://blog.csdn.net/qq_39323945/article/details/125110368

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

然后启动环境:


java -jar target/actuator-demo-0.0.1-SNAPSHOT.jar

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

此时环境搭建完成。


3. 漏洞利用


3.1 漏洞发现


一般来说,这种可以通过扫描工具发现漏洞,在这里可以用fscan来试试:

./fscan_darwin -h 10.211.55.5

在这里可以发现有两个漏洞:

[+] 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.3 springboot-env-unauth


公开 SpringConfigurableEnvironment


http://10.211.55.5:8080/actuator/env


http://10.211.55.5:8080/actuator/configprops


3.4 spring-actuator-heapdump


其实在实战中,最重要的就是heapdump文件,在这里文件里面理论上可以发现很多敏感的数据库之类的信息。


http://10.211.55.5:8080/actuator/heapdump

该文件可以直接下载到本地来,使用专业工具进行解密;

专业工具地址:


https://github.com/wyzxxz/heapdump_tool

使用方法:java -jar heapdump_tool.jar heapdump

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

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


4. 总结


关于其他的工具来获取明文信息的,可以参考以下链接:

https://mp.weixin.qq.com/s/JKq4WxFKwh7IDIAqTKcTHw

相关文章
|
9天前
|
前端开发 Java 测试技术
深入剖析:Spring Boot Controller中请求处理方法的访问修饰符
【10月更文挑战第21天】 在Spring Boot应用中,Controller类中的请求处理方法通常用于处理HTTP请求。这些方法的访问修饰符(private或public)对方法的行为和可访问性有着重要影响。本文将深入探讨在Controller中使用private和public修饰符的区别,以及它们对Spring MVC框架的影响。
17 8
|
4月前
|
缓存 监控 Java
优化Spring Boot应用的数据库访问性能
优化Spring Boot应用的数据库访问性能
|
2月前
|
Java Spring
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
本文介绍了Spring Boot中静态资源的访问位置、如何进行静态资源访问测试、自定义静态资源路径和静态资源请求映射,以及如何处理自定义静态资源映射对index页面访问的影响。提供了两种解决方案:取消自定义静态资源映射或编写Controller来截获index.html的请求并重定向。
springboot静态资源目录访问,及自定义静态资源路径,index页面的访问
|
1月前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
50 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2月前
|
存储 安全 Java
发现 XSS 漏洞?别急!SpringBoot这招轻松搞定!
在SpringBoot中,发现XSS(跨站脚本)漏洞时,可以通过一系列措施来轻松搞定这些安全问题。XSS攻击允许攻击者在受害者的浏览器中注入恶意脚本,这些脚本可以窃取用户的敏感信息、劫持用户会话或进行其他恶意操作。以下是一些在SpringBoot中修复XSS漏洞的有效方法
230 7
|
3月前
|
Java Spring
Spring Boot实战:静态资源无法访问
Spring Boot实战:静态资源无法访问
68 0
|
4月前
|
缓存 监控 Java
优化Spring Boot应用的数据库访问性能
优化Spring Boot应用的数据库访问性能
|
5月前
|
前端开发 JavaScript 网络协议
Springboot中为什么你能通过一小段代码来访问网页?
Springboot中为什么你能通过一小段代码来访问网页?
46 7
|
4月前
|
Java
自主定义访问路径-----SpringBoot自主定义静态资源访问路径的方法
自主定义访问路径-----SpringBoot自主定义静态资源访问路径的方法
|
5月前
|
Java
SpringBoot修改访问路径
SpringBoot修改访问路径