未经许可,不得转载。
前言
在 Spring Boot 中,/actuator/heapdump
是 Actuator 端点之一。访问它可以导出 JVM 内存堆的转储文件,包含当前运行的 JVM 中所有对象的内存快照。
如果这个端点未正确保护(如未加密或未限制访问权限),攻击者可以下载内存堆转储文件,这里面可能包含敏感信息(如密钥、密码、API 密钥等)。
下载
访问 www.abc.com/actuator/heapdump
下载该文件。
下载后可以使用 VisualVM,这是一个用于监控、分析 Java 应用程序的工具。通过它可以加载并浏览堆转储文件,查看堆内存中的对象和它们的内容。
查询
使用 VisualVM 编写 OQL(对象查询语言)命令来搜索堆转储中可能包含敏感信息的对象。
如下命令会查找包含 “AWS” 字符串的 String 对象:
select s from java.lang.String s where s.toString().conta