我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

spring如何获取bean的源码解析

这篇文章主要介绍了spring如何获取bean的源码解析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。源码直接看源码吧@Overridepublic Object getBe
2023-06-14

Springboot如何实现对配置文件中的明文密码加密

这篇文章主要介绍了Springboot如何实现对配置文件中的明文密码加密的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Springboot如何实现对配置文件中的明文密码加密文章都会有所收获,下面我们一起来看看吧
2023-07-05

如何分析Web安全中的明文密码漏洞

这篇文章给大家介绍如何分析Web安全中的明文密码漏洞,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。明文是未加密的信息,明文密码自然就是未加密的密码信息,而明文密码传输、明文密码存储、密码弱加密及密码存储在攻击者能访问的
2023-06-17

Spring如何获取当前类在容器中的beanname

这篇文章主要介绍“Spring如何获取当前类在容器中的beanname”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Spring如何获取当前类在容器中的beanname”文章能帮助大家解决问题。如下
2023-07-02

如何在android7.0中获取文件的Uri

本篇文章为大家展示了如何在android7.0中获取文件的Uri,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。//res目录下创建xml,设置要分享的目录,名称定义file_paths
2023-05-30

利用JSP 如何实现获取spring容器中的bean

这篇文章给大家介绍利用JSP 如何实现获取spring容器中的bean,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。JSP 获取spring容器中bean的方法总结方案1(Web中使用):ApplicationCont
2023-05-31

python 如何获取文件夹中的全部文件

在神经网络准备训练集的时候,经常需要从文件夹中读取全部图片。经常遇到的有两种方式,一种是os.listdir()另一种是glob,本文结合示例代码对python获取文件夹中全部文件讲解的非常详细,需要的朋友参考下吧
2023-01-07

Linux  Shell中如何实现一个获取任意位数的随机密码

这篇文章主要介绍了Linux Shell中如何实现一个获取任意位数的随机密码,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。Shell 命令行,实现一个获取任意位数的随机密码
2023-06-09

java如何获取下拉框选中的文本值

在Java中,可以使用JavaFX提供的ComboBox组件来实现下拉框,并获取选中的文本值。下面是一个简单的示例代码:```javaimport javafx.application.Application;import javafx.c
2023-09-26

Python中如何获取文件系统的使用率

Python中如何获取文件系统的使用率,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。from subprocess import Popen, PIPE# 执行操作系统命令
2023-06-02

如何在Golang中获取mp3文件的持续时间?

在Golang中获取mp3文件的持续时间是一个常见的需求。php小编小新将为您介绍一种简单有效的方法。首先,我们需要使用第三方库来处理mp3文件。推荐使用go-audio库,它提供了一些便捷的功能。接下来,我们需要使用go-audio库的D
如何在Golang中获取mp3文件的持续时间?
2024-02-09

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录