Shiro remeberMe反序列化漏洞復現(Shiro-550)


Apache Shiro是一個強大易用的Java安全框架,提供了認證、授權、加密和會話管理等功能。Shiro框架直觀、易用,同時也能提供健壯的安全性。在Apache Shiro編號為550的 issue 中爆出嚴重的 Java 反序列化漏洞。

漏洞原理:

以后研究透徹了再寫 暫時只寫利用:D

影響版本:

Apache Shiro < 1.2.4

特征判斷:

返回包中包含rememberMe=deleteMe字段

如圖:

1.png

漏洞利用:

1,環境搭建
獲取docker鏡像
docker pull medicean/vulapps:s_shiro_1
啟動docker鏡像:
docker run -d -p 8080:8080 medicean/vulapps:s_shiro_1
2,利用工具

https://github.com/feihong-cs/ShiroExploit

如圖:

2.png

3,漏洞利用

圖形化界面傻瓜式操作 :)

添加需要檢測的網址,事實上響應包里面存在rememberMe=deleteMe字段我們都可以進行檢測一下,這里不僅是Shiro版本小於1.2.4的,有部分Shiro升級后還是存在反序列化漏洞,詳情介紹:https://mp.weixin.qq.com/s/NRx-rDBEFEbZYrfnRw2iDw

3.png

直接下一步趴,相當於是默認選項了,在ShiroExploit工具的github介紹上,對使用 ceye.io 進行漏洞檢測的解釋為:

  • 可以不進行任何配置,配置文件中已經預置了 CEYE 域名和對應的 Token,當然也可以對其進行修改。

  • 程序會首先使用 URLDNS 篩選出唯一 Key,然后依次調用各個 Gadget 生成 Payload

  • 缺點:程序會使用 API:http://api.ceye.io/v1/records?token=a78a1cb49d91fe09e01876078d1868b2&type=dns&filter=[UUID] 查詢檢測結果,這個 API 有時候會無法正常訪問,導致在這種方式下無法找到 Key 或者有效的 Gadget

4.png

這里檢查是否存在默認的key,因為很多代碼都是抄來抄去的,所以很多應用的key值是相同的,Shiro key 100,詳情在:https://mp.weixin.qq.com/s/sclSe2hWfhv8RZvQCuI8LA

日常不建議全部加載嘗試,如遇到常用key跑不出來的情況可嘗試全部跑一遍。

5.png

可以看到找到匹配的key值,同時當反彈shell這些按鈕能夠選擇和輸出的話,證明反序列化漏洞是存在的,接下來就是反彈shell主機上線了,相信大師傅們比我更熟悉,沖鴨!

 

參考鏈接:

 


免責聲明!

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



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