如何获取 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密码明文内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 深入了解Spring中getBean()的五种方式

    深入了解Spring中getBean()的五种方式

    在本文中,我们将详细介绍从BeanFactory中获取bean的多种方式。简单地说,正如方法的名称所表达的,getBean()负责从Spring IOC容器中获取bean实例,希望对大家有所帮助
    2023-02-02
  • 关于ConditionalOnMissingBean失效问题的追踪

    关于ConditionalOnMissingBean失效问题的追踪

    这篇文章主要介绍了关于ConditionalOnMissingBean失效问题的追踪方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Spring Boot 集成 Swagger2构建 API文档

    Spring Boot 集成 Swagger2构建 API文档

    这篇文章主要介绍了Spring Boot 集成 Swagger2构建 API文档,通过使用 Swagger,我们只需要按照它所给定的一系列规范去定义接口以及接口的相关信息,然后它就能帮我们自动生成各种格式的接口文档,方便前后端开发者进行前后端联调,下文需要的朋友可以参考一下
    2022-03-03
  • Java解析xml文件和json转换的方法(DOM4j解析)

    Java解析xml文件和json转换的方法(DOM4j解析)

    相信大家都知道Java解析xml的方法有四种,每种方法都很不错,今天通过本文给大家分享使用DOM4j进行解析的方法,文章通过两种方法给大家进行解析,感兴趣的朋友一起看看吧
    2021-08-08
  • java基础类型源码解析之多角度讲HashMap

    java基础类型源码解析之多角度讲HashMap

    这篇文章主要给大家介绍了关于java基础类型源码解析之HashMap的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用java基具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Java获取代码中方法参数名信息的方法

    Java获取代码中方法参数名信息的方法

    在java中,可以通过反射获取到类、字段、方法签名等相关的信息,像方法名、返回值类型、参数类型、泛型类型参数等,但是不能够获取方法的参数名。在实际开发场景中,有时需要根据方法的参数名做一些操作,那么该如何操作了呢?下面就通过这篇文章来学习学习吧。
    2016-09-09
  • java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较

    java 中HashMap、HashSet、TreeMap、TreeSet判断元素相同的几种方法比较

    这篇文章主要介绍了从源码的角度浅析HashMap、TreeMap元素的存储和获取元素的逻辑;从Map与Set之间的关系浅析常用的Set中元素的存储和判断是否重复的逻辑,需要的朋友可以参考下
    2017-01-01
  • Java实现后端跨域的常见解决方案

    Java实现后端跨域的常见解决方案

    跨源资源共享(CORS——Cross-Origin Resource Sharing,跨源资源共享,或通俗地译为跨域资源共享)是一种基于 HTTP 头的机制,跨域的解决方案有很多种,前后端都有,本文给大家主要介绍Java实现后端跨域的常见解决方案,需要的朋友可以参考下
    2024-04-04
  • Spring MVC数据响应处理详解

    Spring MVC数据响应处理详解

    这篇文章主要给大家介绍了关于Spring MVC数据响应处理的相关资料,本教程详细的讲解SpringMVC框架的使用,非常详细的案例讲解,一步一步带你走入springmvc框架的核心,需要的朋友可以参考下
    2022-05-05
  • Spring实战之让Bean获取Spring容器操作示例

    Spring实战之让Bean获取Spring容器操作示例

    这篇文章主要介绍了Spring实战之让Bean获取Spring容器操作,结合实例形式分析了Bean获取Spring容器的相关原理、实现方法及操作注意事项,需要的朋友可以参考下
    2019-11-11

最新评论