如何获取 Spring heapdump中的明文密码

 更新时间:2022年07月19日 10:11:43   作者:Bypass  
Actuator是Spring Boot提供的应用系统监控的开源框架,在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,本文介绍如何获取 Spring heapdump中的密码明文,需要的朋友可以参考下

Actuator是Spring Boot提供的应用系统监控的开源框架。在攻防场景里经常会遇到Actuator配置不当的情况,攻击者可以直接下载heapdump堆转储文件,然后通过一些工具来分析heapdump文件,从而可进一步获取敏感信息。

01、jvisualvm分析

jvisualvm是jdk自带可视化java监控工具,在cmd命令行直接输入jvisualvm就可以运行这款工具。

(1)通过jvisualvm加载heapdump文件

(2)切换到OQL控制台标签,Springboot heapdump端点存在版本差异,构建OQL语句进行关键字查询,从而获取明文密码。

Spring boot 1.x版本:select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())
Spring boot 2.x版本:select s.value.toString() from java.util.LinkedHashMap$Entry s where /password/.test(s.key.toString())

02、jhat命令分析

jhat 是jdk自带的用于分析JVM heapdump文件的工具。

(1)使用jhat命令分析heapdump文件,启动一个端口为7000的http服务。备注:jhat 后面可配置jvm参数,避免heapdump文件占用过大内存。

(2)访问http服务,搜索关键字进入依次查看对象,获取到redis数据对象。

(3)点击password,从而获取到redis对象的明文密码。

03、heapdump_tool 敏感信息查询工具

本质上是基于jhat,通过通过jhat解析heapdump文件,从而实现heapdump敏感信息搜索。

下载地址:

https://toolaffix.oss-cn-beijing.aliyuncs.com/heapdump_tool.jar

利用自动化工具,快速搜索查找密码明文,AK-SK等。

04、Eclipse Memory Analyzer(MAT)

Eclipse Memory Analyzer(简称MAT)是一个功能丰富且操作简单的JVM Heap Dump分析工具,可以用来查找 spring heapdump中的密码明文。

下载地址:

https://www.eclipse.org/mat/downloads.php

(1)使用 MAT直接打开下载的 heapdump 文件,点击 OQL 标签,构建语句进行关键字查询。

Spring boot 1.x版本:select  from java.util.Hashtable$Entry x WHERE (toString(x.key).contains(“password”))
Spring boot 2.x版本:select  from java.util.LinkedHashMap$Entry x WHERE (toString(x.key).contains(“password”))

(2)在 java.util.LinkedHashMap$Entry 实例的键值对中,找到明文密码。

到此这篇关于如何获取 Spring heapdump中的明文密码的文章就介绍到这了,更多相关Spring heapdump密码明文内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java中JDBC连接池的基本原理及实现方式

    Java中JDBC连接池的基本原理及实现方式

    本文详细讲解了Java中JDBC连接池的基本原理及实现方式,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • Java利用ITextPdf库生成PDF预览文件的具体实现

    Java利用ITextPdf库生成PDF预览文件的具体实现

    这篇文章主要给大家介绍了Java利用ITextPdf库生成PDF预览文件的具体实现,文中通过代码示例和图文给大家介绍的非常详细,具有一定的参考价值,需要的朋友可以参考下
    2024-04-04
  • java 中模拟UDP传输的发送端和接收端实例详解

    java 中模拟UDP传输的发送端和接收端实例详解

    这篇文章主要介绍了java 中模拟UDP传输的发送端和接收端实例详解的相关资料,需要的朋友可以参考下
    2017-03-03
  • java实现String字符串处理各种类型转换

    java实现String字符串处理各种类型转换

    在日常的程序开发中,经常会涉及到不同类型之间的转换,本文主要介绍了String字符串处理各种类型转换,具有一定的参考价值,感兴趣的可以了解一下
    2023-10-10
  • mybatis-plus与JPA混合的使用方式

    mybatis-plus与JPA混合的使用方式

    这篇文章主要介绍了mybatis-plus与JPA混合的使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 使用profiles进行多环境配置的代码实现

    使用profiles进行多环境配置的代码实现

    在项目开发的过程中会用到多个环境,为了便于开发使用,通常需要使用profiles进行多环境配置,所以本文给大家介绍了使用profiles进行多环境配置的代码实现,需要的朋友可以参考下
    2024-02-02
  • Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud Zuul对异常的处理整体来说还是比较方便的,流程也比较清晰,下面这篇文章主要给大家介绍了关于Spring Cloud学习教程之Zuul统一异常处理与回退的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-04-04
  • 使用jpa之动态插入与修改(重写save)

    使用jpa之动态插入与修改(重写save)

    这篇文章主要介绍了使用jpa之动态插入与修改(重写save),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • spring-boot中的SPI机制实例讲解

    spring-boot中的SPI机制实例讲解

    这篇文章主要介绍了spring-boot中的SPI机制实例讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07
  • jar包双击执行程序的方法

    jar包双击执行程序的方法

    这篇文章主要介绍了jar包双击执行程序的方法,可实现双击jar包直接执行Java程序的功能,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12

最新评论