日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

一、概述

微服務是目前較為熱門的技術,Spring boot 是 Spring 的一套快速配置腳手架,可以基于Spring boot 快速開發單個微服務,微服務的特點決定了功能模塊分布式部署,在不同的機器上相互通過服務調用進行交互,業務流會經過多個微服務的處理和傳遞。

多個微服務下,微服務的監控顯得尤為重要。Actuator組件為Spring Boot提供對應用系統的監控和管理的集成功能,可以查看應用配置的詳細信息,例如自動化配置信息、創建的Spring beans信息、系統環境變量的配置信以及Web請求的詳細信息等。

? 如果Actuator使用不當或者一些不經意的疏忽,可能造成信息泄露等嚴重的安全隱患。/heapdump作為Actuator組件最為危險的Web接口,如Actuator配置不當,攻擊者可無鑒權獲取heapdump堆轉儲文件,分析heapdump堆轉儲文件進一步獲取敏感信息。

? Actuator 用來對應用系統進行自省和監控的功能模塊,其提供的執行器端點分為兩類:

? 1.原生端點

? 2.用戶自定義擴展端點

? 原生端點主要有:

HTTP 方法

路徑

描述

GET

/dump

獲取當前應用的所有線程dump情況。當出現內存占用過高等情況下,可以幫助分析線程的使用情況,幫助定位問題。

GET

/heapdump

堆轉儲文件

GET

/env

獲取全部環境屬性

GET

/env/{name}

根據名稱獲取特定的環境屬性值

GET

/autoconfig

提供了一份自動配置報告,記錄哪些自動配置條件通過了,哪些沒通過

GET

/configprops

描述配置屬性(包含默認值)如何注入 Bean

GET

/beans

描述應用程序上下文里全部的 Bean,以及它們的關系

GET

/health

報告應用程序的健康指標,這些值由 HealthIndicator 的實現類提供

GET

/info

獲取應用程序的定制信息,這些信息由 info 打頭的屬性提供

GET

/mAppings

描述全部的 URI 路徑,以及它們和控制器(包含 Actuator 端點)的映射關系

GET

/metrics

報告各種應用程序度量信息,比如內存用量和 HTTP 請求計數

GET

/metrics/{name}

報告指定名稱的應用程序度量值

POST

/shutdown

關閉應用程序,要求
endpoints.shutdown.enabled 設置為 true(默認為 false)

GET

/trace

提供基本的 HTTP 請求跟蹤信息(時間戳、HTTP 頭等)

搭建漏洞復現環境:

Spring boot heapdump獲取敏感信息

 

二、Actuator配置不當

【→所有資源關注我,私信回復“資料”獲取←】
1、網絡安全學習路線
2、電子書籍(白帽子)
3、安全大廠內部視頻
4、100份src文檔
5、常見安全面試題
6、ctf大賽經典題目解析
7、全套工具包
8、應急響應筆記

/heapdump作為Actuator組件最為危險的Web接口之一,如Actuator配置不當,攻擊者可無鑒權獲取heapdump堆轉儲文件,分析heapdump堆轉儲文件進一步獲取敏感信息。 其中 /dump 可獲取線程活動的快照, /heapdump 可獲取堆轉儲文件。

? 堆轉儲文件,是JAVA進程在某個時間點上的內存快照。HeapDump記錄有JVM中堆內存運行的情況,含Java對象、類以及線程棧以及本地變量等信息。

? 通過訪問/dump 路徑,返回線程活動的快照,可看到Springboot線程活動中存在RMI 監聽。

訪問/dump 路徑,效果如下圖所示:

Spring boot heapdump獲取敏感信息

 

通過訪問/heapdump 路徑,返回 hprof 堆轉儲文件壓縮包。在JVisualVM 打開該堆轉儲文件.hprof ,將泄露站點內存信息,比如后臺用戶的賬號密碼。

訪問/heapdump 路徑,效果如下圖所示:

Spring boot heapdump獲取敏感信息

 

三、識別版本

Springboot heapdump端點存在版本差異

? Spring boot 1.x版本,默認端點為/heapdump,下載的heapdump文件包含時間以及后綴hprof。

? Spring boot 2.x版本,默認端點為/Actuator/heapdump,需要將下載的heapdump文件加上.hprof后綴。

Spring boot heapdump獲取敏感信息

 

四、工具選擇

分析堆轉儲文件工具有幾個選擇

? JVisualVM:JDK自帶工具,供開發者用于監視,故障排除。

Spring boot heapdump獲取敏感信息

 

Eclipse MAT:Eclipse提供的一款Heap Dump分析工具,如使用Eclipse-UI內存崩潰,可使用MAT腳本解析大容量的heap dump。

Spring boot heapdump獲取敏感信息

 

IBM Heap Analyzer:IBM公司一款分析Heap Dump信息的工具,有效的列舉堆的內存使用狀況,幫助分析Java內存泄漏的原因。

Spring boot heapdump獲取敏感信息

 

五、OQL查詢語言

因為堆轉儲文件里面含有大量信息,要準確找到我們想要的信息需要借助一些工具和一些查詢技巧。

? Springboot OQL 對象查詢語言是一種結構化查詢語言,將類當作表、對象當作記錄行、成員變量當作表中的字段。通過OQL可以方便快捷的查詢一些需要的信息,加快檢出需要的屬性值。

版本差異

? Spring boot 1.x 版本 heapdump 查詢結果存儲在 java.util.Hashtable$Entry 實例鍵值對中:

? Spring boot 2.x 版本 heapdump 查詢結果存儲在 java.util.LinkedHashMap$Entry 實例鍵值對中:

? 利用password關鍵字檢索,對應的 oql 查詢語句

Spring boot heapdump獲取敏感信息

 

Eclipse MAT對應查詢語句

? Spring boot 1.x:select * from java.util.Hashtable$Entry s WHERE (toString(s.key).contains("password"))

? Spring boot 2.x:select * from java.util.LinkedHashMap$Entry s WHERE (toString(s.key).contains("password"))

六、具體步驟

此次使用JDK自帶JVisualVM工具,對Heap Dump進行分析,該工具位于<JDK_HOME>/bin/目錄。

JDK自帶工具,如下圖所示:

Spring boot heapdump獲取敏感信息

 

雙擊打開JVisualVM工具。

其主界面,如下圖所示:

 

? 通過JVisualVM加載heapdump文件,在概要欄目系統屬性處,可看到部分敏感信息泄露。

部分敏感信息泄露,如下圖所示:

Spring boot heapdump獲取敏感信息

 

切換至OQL控制臺標簽,在輸入框輸入如下語句,點擊執行進行查詢。

select s.value.toString() from java.util.Hashtable$Entry s where /password/.test(s.key.toString())

查詢結果,如下圖所示:

Spring boot heapdump獲取敏感信息

 

切換至類標簽,在下方輸入框限制檢索條件java.util.Hashtable,點擊結果中第一項java.util.Hashtable$Entry

查詢結果,如下圖所示:

Spring boot heapdump獲取敏感信息

 

切換不同的實例進行觀察,在第411項實例發現后臺管理員密碼明文。

管理員密碼明文,效果如下圖所示:

Spring boot heapdump獲取敏感信息

 

在第409項實例中進一步可看到 MySQL數據庫密碼。

查看MySQL數據庫密碼,效果如下圖所示:

Spring boot heapdump獲取敏感信息

 

在查找密碼上,可結合網站 /env 或 /Actuator/env 接口,檢索 關鍵詞,使用被星號 遮掩對應的屬性名作為OQL過濾條件。

查看遮擋屬性值,效果如下圖所示:

Spring boot heapdump獲取敏感信息

 

shiroKey

? 如目標網站使用Shiro安全框架,在過濾規則輸?
org.Apache.shiro.web.mgt.CookieRememberMeManager 尋找 decryptionCipherKey字段,可獲取key,進而rememberMe反序列化利用。

七、防控措施

在代碼白盒審計時,對Springboot項目重點檢測Actuator依賴,對安全依賴及配置進行復查,建議作為漏洞檢出規則加入代碼掃描器。

? 在網絡安全風險自查中,將/heapdump 等敏感路徑加入掃描器字典。

Spring boot heapdump獲取敏感信息

 

在使用Actuator時,不正確的使用或不經意的疏忽,都會造成嚴重的信息泄露等安全隱患。安全的做法是引入security依賴,打開安全限制并進行身份驗證。同時設置單獨的Actuator管理端口并配置不對外網開放。

Spring boot heapdump獲取敏感信息

 

引入 security 依賴,打開安全限制,或禁用不需要接口,endpoints.env.enabled= false

Spring boot heapdump獲取敏感信息

 

分享到:
標簽:Spring boot
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定