如何獲取?Spring?heapdump中的明文密碼
Actuator是Spring Boot提供的應(yīng)用系統(tǒng)監(jiān)控的開源框架。在攻防場景里經(jīng)常會(huì)遇到Actuator配置不當(dāng)?shù)那闆r,攻擊者可以直接下載heapdump堆轉(zhuǎn)儲(chǔ)文件,然后通過一些工具來分析heapdump文件,從而可進(jìn)一步獲取敏感信息。
01、jvisualvm分析
jvisualvm是jdk自帶可視化java監(jiān)控工具,在cmd命令行直接輸入jvisualvm就可以運(yùn)行這款工具。
(1)通過jvisualvm加載heapdump文件
(2)切換到OQL控制臺(tái)標(biāo)簽,Springboot heapdump端點(diǎn)存在版本差異,構(gòu)建OQL語句進(jìn)行關(guān)鍵字查詢,從而獲取明文密碼。
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文件,啟動(dòng)一個(gè)端口為7000的http服務(wù)。備注:jhat 后面可配置jvm參數(shù),避免heapdump文件占用過大內(nèi)存。
(2)訪問http服務(wù),搜索關(guān)鍵字進(jìn)入依次查看對(duì)象,獲取到redis數(shù)據(jù)對(duì)象。
(3)點(diǎn)擊password,從而獲取到redis對(duì)象的明文密碼。
03、heapdump_tool 敏感信息查詢工具
本質(zhì)上是基于jhat,通過通過jhat解析heapdump文件,從而實(shí)現(xiàn)heapdump敏感信息搜索。
下載地址:
https://toolaffix.oss-cn-beijing.aliyuncs.com/heapdump_tool.jar
利用自動(dòng)化工具,快速搜索查找密碼明文,AK-SK等。
04、Eclipse Memory Analyzer(MAT)
Eclipse Memory Analyzer(簡稱MAT)是一個(gè)功能豐富且操作簡單的JVM Heap Dump分析工具,可以用來查找 spring heapdump中的密碼明文。
下載地址:
https://www.eclipse.org/mat/downloads.php
(1)使用 MAT直接打開下載的 heapdump 文件,點(diǎn)擊 OQL 標(biāo)簽,構(gòu)建語句進(jìn)行關(guān)鍵字查詢。
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 實(shí)例的鍵值對(duì)中,找到明文密碼。
到此這篇關(guān)于如何獲取 Spring heapdump中的明文密碼的文章就介紹到這了,更多相關(guān)Spring heapdump密碼明文內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA根據(jù)ip地址獲取歸屬地的實(shí)現(xiàn)方法
本文主要介紹了JAVA根據(jù)ip地址獲取歸屬地的實(shí)現(xiàn)方法,要通過Java程序獲取IP地址對(duì)應(yīng)的城市,需要借助第三方的IP地址庫,下面就來介紹一下,感興趣的可以了解一下2023-10-10Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事
變量就是系統(tǒng)為程序分配的一塊內(nèi)存單元,用來存儲(chǔ)各種類型的數(shù)據(jù),下面這篇文章主要給大家介紹了關(guān)于Java基礎(chǔ)學(xué)習(xí)之關(guān)鍵字和變量數(shù)據(jù)類型的那些事,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07SpringBoot 入門教程之引入數(shù)據(jù)傳輸層的方法
這篇文章主要介紹了SpringBoot 入門教程之引入數(shù)據(jù)傳輸層的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07Spring Boot 2.0 配置屬性自定義轉(zhuǎn)換的方法
這篇文章主要介紹了Spring Boot 2.0 配置屬性自定義轉(zhuǎn)換的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11Spring Bean生命周期之BeanDefinition的合并過程詳解
這篇文章主要為大家詳細(xì)介紹了Spring Bean生命周期之BeanDefinition的合并過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-03-03