Actuator 是Spring Boot提供的对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息,例如自动化配置信息、创建的Spring beans信息、系统环境变量的配置信息以及Web请求的详细信息等。
在Actuator启用的情况下,如果没有做好相关权限控制。非法用户可通过访问默认的执行器端点(endpoints)来获取应用系统中的监控信息。常常使用不当或者一些不经意的疏忽,可能造成信息泄露等严重的安全隐患。
关于基本的特征、用法前面已经介绍了,传送门在这,就不多说了,下面主要说下进阶用法。
https://mp.weixin.qq.com/s?__biz=MzkyOTMxNDM3Ng==&mid=2247486525&idx=1&sn=93c6c795b5ea10e1b35ade2969aa3888&chksm=c20a2f1af57da60c417d398d2d66526583034a7499c1b8912d613f82d28d1443db594be31836&token=2029242663&lang=zh_CN#rd
一、漏洞发现
主要是awvs发现的,awvs free版本23.7,下载链接我放星球了
二、漏洞利用
首先访问一下/actuator/env,该端点可以返回全部环境变量以及一些配置信息,其中就包含了数据库配置信息。但是我们可以看到password被用*代替了,这时就要想办法读取该数据了
获取秘钥分享两个方法
方法1.首先访问/actuator/heapdump 接口,下载应用实时的 JVM 堆信息。
然后通过JDK自带的JVisualVM工具对JVM堆的dump文件进行分析
接下来点击文件->装入,选择我们刚才下载的dump文件。
可以看到系统的一些配置信息。接下来打开OQL控制台,输入OQL语句来过滤我们需要的信息。env中信息存储在heapdump中的 java.util.LinkedHashMap$Entry 类中(Spring boot 2.X版本)。如果我们要查询数据库密码则在OQL控制台执行如下OQL语句:
select s from java.util.LinkedHashMap$Entry s where /spring.datasource.password/.test(s.key)
方法2.集成工具,星球下载,很早之前发的安服包里,获取相关密码后,就可以考虑更进一步拿下服务器了。
小知识
声明
原文始发于微信公众号(丁永博的成长日记):Spring Boot Actuator详解与漏洞利用2
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论