2

Spring Actuator信息泄露HeapDump

 2 years ago
source link: https://blog.51cto.com/u_9652359/5508872
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Spring Actuator信息泄露HeapDump

推荐 原创

        HeapDump文件是JVM虚拟机运行时内存的一个快照,通常用于性能分析等,但是因为其保存了对象、类等相关的信息,如果被泄露也会造成信息泄露。有多种方式可以获取到HeapDump信息,如使用jmap、jconsole可以主动获取到信息,在JAVA开发中引入Spring Actuator后,如果配置不当可以通过前台访问下载HeapDump文件,从而导致信息泄露。

(一)如下在POM.XML文件中引入的依赖:

<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-actuator</artifactId>

</dependency>

       (二)在application.properties或者application.yml文件中开启heapdump端点的监控:

Spring Actuator信息泄露HeapDump_Java VisualVM

       (三)如果采用的springsecurity,在拦截这里放行了/actuator相关的资源:

Spring Actuator信息泄露HeapDump_actuator/heapdump_02

如果是其他拦截或者过滤的可以看看是否进行了有效的拦截过滤。

三、测试访问

(一)​ ​http://127.0.0.1:8088/actuator/​​ 查看泄露的端点信息

Spring Actuator信息泄露HeapDump_actuator/heapdump_03

(二)127.0.0.1:8088/actuator/heapdump 下载heapdump文件,泄露JAVA堆dump信息:

Spring Actuator信息泄露HeapDump_Java VisualVM_04

四、查看HeapDump文件中保存的密码

(一)有多种方式可以查看HeapDump文件,常见的如Memory Analyzer工具以及在安装了JDK6U7及以上版本会自动安装的Java VisualVM工具,这里使用Java VisualVM,路径在jdk1.8.0_271\bin目录,找到jvisualvm.exe打开Java VisualVM:

Spring Actuator信息泄露HeapDump_actuator/heapdump_05

相关手册:

 ​https://docs.oracle.com/javase/8/docs/technotes/guides/visualvm/intro.html​

(二)通过Java VisualVM打开刚下载到的HeapDump文件:

Spring Actuator信息泄露HeapDump_Java VisualVM_06

(三)载入后打开QOL控制台:

Spring Actuator信息泄露HeapDump_actuator/heapdump_07

在查询编辑器输入查询语句,然后点击执行:

select s from java.lang.String s where /pass/.test(s.value.toString())

select s.value.toString() from java.lang.String s where /pass/.test(s.value.toString())

Spring Actuator信息泄露HeapDump_actuator_08

select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())

Spring Actuator信息泄露HeapDump_actuator/heapdump_09

通过上述步骤找到密码。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK