taibeihacker
Moderator
Apache Shiro padding oracle attack漏洞复现
Shiro 使用了AES-128-CBC 模式對cookie 進行加密,導致惡意用戶可以通過padding oracle 攻擊方式構造序列化數據進行反序列化攻擊。例如之前爆出來的SHIRO-550 漏洞就是關於remember 這個cookie 的問題。
环境搭建
shiro 打包環境下載地址https://github.com/jas502n/SHIRO-721exp 下載地址https://github.com/Geekby/shiro_rce_exp
復現環境:ubuntu16.04 + tomcat8 + shiro 1.4.1
1
apt-get install tomcat8 tomcat8-docs tomcat8-examples tomcat8-admin
然後將下載好的samples-web-1.4.1.war 包部署到tomcat 上。
漏洞复现
訪問shiro登錄頁面
輸入用戶名密碼,點擊Remember Me

訪問任意頁面,得到Cookie 中的rememberMe

生成java class payload

執行exp

得到padding oracle attack後的cookie

注:破解時間較長,大概持續100min - 120min左右。
複製該cookie,重放數據包

檢查執行結果

發現success文件成功被創建,命令可以被執行
参考
GitHub - jas502n/SHIRO-721: RememberMe Padding Oracle Vulnerability RCE
RememberMe Padding Oracle Vulnerability RCE. Contribute to jas502n/SHIRO-721 development by creating an account on GitHub.
GitHub - wuppp/shiro_rce_exp: Shiro RCE (Padding Oracle Attack)
Shiro RCE (Padding Oracle Attack). Contribute to wuppp/shiro_rce_exp development by creating an account on GitHub.