漏洞描述
Apache Shiro是一個(gè)應(yīng)用面非常廣的Java安全框架,主要用于完成身份校驗(yàn)、會(huì)話管理的操作。在Apache Shiro cookie中的通過(guò)AES-128-CBC模式加密的rememberMe字段存在問(wèn)題,容易受到Padding Oracle攻擊。攻擊者可以通過(guò)以下步驟完成攻擊:
- 用已經(jīng)存在的用戶登錄網(wǎng)站,并從cookie中獲得rememberMe字段。
- 使用rememberMe cookie作為Padding Oracle攻擊的前綴。
- 通過(guò)Padding Oracle加密利用ysoserial生成的攻擊代碼來(lái)構(gòu)造惡意的rememberMe字段。
- 用剛剛構(gòu)造的惡意rememberMe重新請(qǐng)求網(wǎng)站,進(jìn)行反序列化攻擊,最終導(dǎo)致任意代碼執(zhí)行。
目前Apache Shiro并未發(fā)放官方補(bǔ)丁和緩解方案,禹宏信安建議使用Apache Shiro的用戶及時(shí)對(duì)存在漏洞的資產(chǎn)進(jìn)行自查,并及時(shí)關(guān)注官方安全補(bǔ)丁是否發(fā)布。
漏洞編號(hào)
無(wú)
漏洞危害
攻擊者可以通過(guò)構(gòu)造的惡意rememberMe請(qǐng)求網(wǎng)站,進(jìn)行反序列化攻擊,最終導(dǎo)致任意代碼執(zhí)行。
漏洞等級(jí)
高危
受影響版本
Apache Shiro 1.2.5, 1.2.6, 1.3.0, 1.3.1, 1.3.2, 1.4.0-RC2, 1.4.0, 1.4.1版本。
修復(fù)方案
臨時(shí)防范建議:
在外部設(shè)備嘗試攔截爆破流量,及時(shí)阻止攻擊者進(jìn)行嘗試性攻擊。