Spring boot未授權訪問造成的數據庫外聯


一、spring boot

  日常測試或攻防演練中像shiro,fastjson等漏洞已經越來越少了,但是隨着spring boot框架的廣泛使用,spring boot帶來的安全問題也越來越多,本文僅介紹未授權現在heapdump獲取數據庫口令,達到連接數據庫的目的。其他spring boot安全漏洞請參考https://xz.aliyun.com/t/7811

  Heap Dump也叫堆轉儲文件,是一個Java進程在某個時間點上的內存快照。Heap Dump是有着多種類型的。不過總體上heap dump在觸發快照的時候都保存了java對象和類的信息。通常在寫heap dump文件前會觸發一次FullGC,所以heap dump文件中保存的是FullGC后留下的對象信息。具體參考:https://blog.csdn.net/hehmxy/article/details/89114116

二、未授權訪問

  spring boot未授權訪問產生的安全問題還是比較嚴重的,env泄露等問題甚至可造成RCE。

  在某次測試過程中掃描目錄發現heapdump文件可下載,通過mat工具對heapdump文件進行分析,可獲取內存中保存的敏感信息。

 

三、相關工具及語法

  Eclipse Memory Analyzer是一種快速且功能豐富的Java堆分析器,可進行查找內存泄漏並減少內存消耗。

  下載鏈接如下:https://www.eclipse.org/mat/

四、OQL

  OQL是用於查詢Java堆的類SQL查詢語言。OQL允許過濾/選擇從Java堆中獲取的信息。雖然HAT已經支持預定義的查詢,例如“顯示類X的所有實例”,但OQL增加了更多的靈活性。OQL基於JavaScript表達式語言。參考鏈接:https://blog.csdn.net/pange1991/article/details/82023771

五、分析heapdump

  將heapdump文件拖入mat,mat對文件進行分析后,點擊下圖OQL查詢敏感信息。

 

  查詢語句:select * from java.util.Hashtable$Entry x WHERE (toString(x.key).contains("password"))

  點擊紅色嘆號進行查詢,即可查詢password字段

 

 

  查詢結果如下

  由此得知數據庫口令,若服務端無外聯限制情況下,即可進行數據庫登錄操作。

 

     文章比較水,但這也是現在發現過得比較值得重視的問題,歡迎表哥們交流思路。

 

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM