最近在进行渗透测试项目的时候遇到了一个Actuator
配置不当的场景,通过其提供的执行器端点获取到了heapdump
堆转储文件,经过简单分析后获得了JDBC明文密码等敏感信息。
Actuator配置不当
Actuator
是Spring Boot
提供的对应用系统的监控和管理的集成功能,可以查看应用配置的详细信息,如自动化配置信息、创建的Spring Beans
信息、系统环境变量的配置信以及Web请求的详细信息等。
一开始通过浏览器访问目标站点,发现网站Icon是一个小绿叶,初步猜测网站使用了Spring Boot
框架。然后进行执行器端点路径的枚举,得到以下相关路径:
/actuator/env # 提供对配置环境的访问
/actuator/beans # 描述应用程序上下文里全部的Bean
/actuator/health # 报告应用程序的健康指标
/actuator/info # 获取应用程序的定制信息
/actuator/trace # 显示最后几条HTTP消息
/actuator/logfile # 输出日志文件的内容
/actuator/heapdump # 堆转储文件
...
Heapdump堆转储文件
Heapdump
,即堆转储文件,是一个Java进程在某个时间点上的内存快照。HeapDump
记录了JVM中堆内存运行的情况,保存了Java对象、类以及线程栈以及本地变量等信息。
- 先通过浏览器访问对应路径将
heapdump
文件进行下载
然后使用使用JDK自带工具
JVisualVM
工具对其进行分析,该工具在<JDK_HOME>/bin/
目录下。JVisualVM
是一个监视,故障排除工具也可以使用
Eclipse MAT
对其进行分析
- 其实通过
JVisualVM
加载heapdump
文件时,已经可以看到部分敏感信息泄露
- 打开后进入ODL控制台,输入如下语句,点击执行进行查询
select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
- 也可以点击"类",搜索
Hashtable
,然后点击进入第一个java.util.Hashtable$Entry
- 通过对左侧实例进行观察,这里发现了JDBC明文密码以及路径
- 打完收工,整理报告,提交审核。
参考
- Springboot之actuator配置不当的漏洞利用
- Java内存泄漏分析系列之六:JVM Heap Dump(堆转储文件)的生成和MAT的使用
- Springboot 获取被星号脱敏的密码的明文の方法四-测试
版权属于:Naraku
本文链接:https://www.naraku.cn/posts/105.html
本站所有原创文章均采用 知识共享署名-非商业-禁止演绎4.0国际许可证 。如需转载请务必注明出处并保留原文链接,谢谢~
1 条评论
感谢分享 赞一个