Spring Boot Actuator未授权漏洞
Actuator 是 Spring Boot 提供的服务监控和管理中间件。当 Spring Boot 应用程序运行时,它会自动将多个端点注册到路由进程中。由于对这些端点的错误配置,就有可能导致一些系统信息泄露。其中heapdump作为Actuator组件最为危险的Web端点,heapdump因未授权访问被恶意人员获取后进行分析,可进一步获取敏感信息。
heapdump文件是一个二进制文件,它保存了某一时刻JVM堆中对象使用情况。heapdump文件是指定时刻的Java堆栈的快照,是一种镜像文件。
heapdump是诊断与JVM内存相关的问题的重要手段,例如:内存泄漏、垃圾回收问题和java.lang.OutOfMemoryError。同时也是优化内存消耗的重要手段。
当从抓取的数据包获得接口URL后
可探索/ Actuator/heapdump路径
下载heapdump文件
打开heapdump的方法
-
使用 heapdump_tool 敏感信息查询工具
本质上是基于jhat,通过通过jhat解析heapdump文件,从而实现heapdump敏感信息搜索
下载地址https://github.com/wyzxxz/heapdump_tool
将下载的heapdump_tool.jar和要解析的heapdump文件与jhat.exe放在同一路径中
本机路径:C:\Program Files\Java\jdk1.8.0_201\bin
打开heapdump文件后可通过password关键字进行搜索 -
使用Java VisualVM工具
本机路径:C:\Program Files\Java\jdk1.8.0_201\bin\ jvisualvm.exe
双击打开,装入heapdump文件,如图2
![]()
切换到OQL控制台标签,Springboot heapdump端点存在版本差异,构建OQL语句进行关键字查询,从而获取明文密码。
Spring boot 1.x版本:select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
Spring boot 2.x版本:select s.value.toString() from java.util.LinkedHashMap$Entry s where /password/.test(s.key.toString())
posted on 2023-02-22 21:22 Mario24678 阅读(4147) 评论(0) 收藏 举报

浙公网安备 33010602011771号