前言
最近在做项目的时候,遇到Spring框架,扫描字典发现可以访问/env较多接口,还有1G的heapdump文件。

但是翻阅的时候发现一些带有敏感关键词的属性名对应的属性值都被******代替。

网上搜索后发现可以通过 Eclipse Memory Analyzer来分析/heapdump文件查找对应明文密码。
安装和使用
安装比较简单,直接下载工具到本地打开就可以使用。

左上角点击File –> Open heap Dump导入heapdump文件,等待完成后点击Finish

点击OQL后输入查询语句,点击红色感叹号进行查询。

查找明文密码
spring boot x1
1 | select * from org.springframework.web.context.support.StandardServletEnvironment |
查询结果最终结果存储在 java.util.Hashtable$Entry 实例的键值对中:

propertySources – propertySourceList – array – /application.properties
spring boot x2
1 | select * from java.util.Hashtable$Entry x WHERE (toString(x.key).contains("password")) |
结果存储在 java.util.LinkedHashMap$Entry 实例的键值对中:

其他
1 | select * from java.util.LinkedHashMap$Entry x WHERE (toString(x.key).contains("password")) |