shiro默認使用了 CookieRememberMeManager ,其處理cookie的流程是:得到 rememberMe的cookie值 --> Base64解碼 --> AES解密 --> 反序列化 。
然而AES的密鑰是硬編碼的,就導致了攻擊者可以構造惡意數據造成反序列化的RCE漏洞。
前16字節的密鑰 -->後面 加入序列化參數 --> AES加密 --> base64編碼 -->發送 cookie 。
使用大佬腳本生成 payload( ysoserial.jar 文件和運行目錄處於同壹目錄)
圖片.png 圖片.png
這裏依舊使用docker進行漏洞復現
圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png 圖片.png
參考鏈接:
/2019/06/apache-shiro%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96%E8%BF%9C%E7%A8%8B%E4%BB%A3%E7%A0%81%E6%89%A7%E8%A1%8C%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/