<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    Shiro高版本默認密鑰的漏洞利用

    VSole2022-01-28 22:26:31

    在Shiro反序列化漏洞修復的過程中,如果僅進行Shiro的版本升級,而沒有重新生成密鑰,那么AES加密的默認密鑰扔硬編碼在代碼里,仍然會存在反序列化風險。


    01、漏洞案例

    本案例引用的shiro版本已是目前最新的1.8.0。嘗試訪問系統進行登錄,抓包獲取參數特征,包含xxx_rememberMe=deleteMe字段。

    注意:在Shiro1.4.2版本后,Shiro的加密模式由AES-CBC更換為 AES-GCM,Shiro高版本下的漏洞利用,就需要考慮加密模式變化的情況。另外,這里cookie傳遞的參數是自定義的,而不是常見的rememberMe,這也是需要注意的地方。

    02、漏洞利用

    為了減少手工構造生成反序列化數據的繁瑣,這里,我們使用一個Shiro反序列化利用工具,python編寫,而且作者增加了AES-GCM加密方式的漏洞利用支持,可以很方便地進行修改和參數構建,

    Github項目地址:

    https://github.com/Ares-X/shiro-exploit.git
    

    首先,我們需要修改python腳本參數,將rememberMe 替換為 xxx_remeberme,使參數能夠正常傳遞。

    利用腳本來爆破Shiro key:

    python shiro-exploit.py check -u http://10.xxx.xxx.72/shiro-cas.shtml
    

    成功獲取到了Shiro key。

    發送回顯Payload,獲取命令執行結果。

    python shiro-exploit.py echo -g CommonsBeanutils2  -v 2 -k 3AvVhmFLUs0KTA3Kprsdag== -c whoami -u http://10.xxx.xxx.72/shiro-cas.shtml
    

    修改python腳本設置代理,在requests使用代理proxies,增加proxies={'http': 'http://' + '127.0.0.1:8888'}。

    這樣就可以將流量引入BurpSuite,抓取HTTP數據包,手動利用查看回顯。

    以上便是Shiro高版本下默認密鑰的漏洞利用過程,So,修復Shiro默認密鑰漏洞,除了升級shiro至最新版本,一定要注意生成新的密鑰替換。


    記錄個有意思的事情,之前有個內部系統確認過Shiro版本和密鑰都有更換,但后來還是被檢測到存在漏洞,一度有點懷疑人生。找開發一起排查了一下,原來有兩臺服務器負載,其中一臺是修復了,還有一臺舊服務器被遺忘了。我復測的時候是修復的狀態,別人一掃描,漏洞還存在,直接淚崩。

    漏洞shiro
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    漏洞挖掘是指對應用程序中未知漏洞的探索,通過綜合應用各種技術和工具,盡可能地找出其中的潛在漏洞。cookie的key為RememberMe,并對相關信息進行序列化,先使用aes加密,然后再使用base64編碼處理形成的。在網上關于Shiro反序列化的介紹很多,我這里就只簡單介紹一下,詳情各位可以看下大神們對其源碼的分析。
    信息收集訪問目標站點,找到其后臺登錄頁面,對源碼進行分析,確定是某cms對網站進行分析,在數據包中發現_rememberMe等字段,驚喜!雖然有了shiro但是不能驕傲,再去找找其他的洞,畢竟,洞這東西得靠自己找才行。接下來先利用目前已有的信息進行滲透 !式,Shiro高版本下的漏洞利用,就需要考慮加密模式變化的情況。于是乎找到源碼,網上查找存儲shiro框架key的地方。些危險命令360主動防御會?
    如何攻擊Java Web應用
    2021-08-23 11:06:00
    本文從黑盒滲透的角度,總結下Java Web應用所知道的一些可能被利用的入侵點。
    滲透測試面試指南
    2022-05-21 22:11:08
    前言一開始會問問你在工作中負責的是什么工作,參與過哪些項目。還有些會問問你之前有沒有護網的經歷,如果沒有的話一般都會被定到初級。下面就是一些技術上的問題了SQL注入的分類Boolean盲注。正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發起請求的客戶端.
    面試題記錄
    2021-12-12 06:44:03
    前言一開始會問問你在工作中負責的是什么工作,參與過哪些項目。還有些會問問你之前有沒有護網的經歷,如果沒有的話一般都會被定到初級。下面就是一些技術上的問題了SQL注入的分類Boolean盲注。正向代理即是客戶端代理, 代理客戶端, 服務端不知道實際發起請求的客戶端.
    Update1.掃描的判斷邏輯,通過返回的rememberMe個數進行判斷2.添加了bypass功能,可以發送隨機的請求方法學習原理<1.2.4 shiro550. 怎么說呢工具肯定是存在誤報的!!!問題少部分環境存在shiro rememberMe參數為于post請求中 等待解決經過大量測試,發現當跑批量的時候小幾率出現連接異常的問題.所以為了保證工具準確性建議提前測試目標連接情況
    打進內網以后的過程沒有繼續深入搞,具體原因大家懂的,前期打點,開始的想法是爆破個弱口令的,弱口令爆破一圈沒有找到有用的賬戶
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类