點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!
背 景
本地某系統(tǒng)使用了Apache Shiro,Shiro 提供了記住我(RememberMe)的功能,下次訪問時無需再登錄即可訪問。系統(tǒng)將密鑰硬編碼在代碼里,且在官方文檔中并沒有強調(diào)修改該密鑰,導致使用者大多數(shù)都使用了默認密鑰。
攻擊者可以構(gòu)造一個惡意的對象,并且對其序列化、AES加密、base64編碼后,作為cookie的rememberMe字段發(fā)送。Shiro將rememberMe進行解密并且反序列化,最終造成反序列化漏洞,進而在目標機器上執(zhí)行任意命令。
漏洞修復
KeyGenerator keygen = KeyGenerator.getInstance("AES");
SecretKey deskey = keygen.generateKey();
System.out.println(Base64.encodeToString(deskey.getEncoded()));
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/129152.html
摘要:關(guān)于的自動對用戶對象序列化并加密當獲得請求時能夠獲取反序列化且解密之后的用戶對象。 shirorememberMe流程原理研究 輸入用戶密碼正兒八經(jīng)登錄時, 如果勾選了記住我, 則后臺給shiro設(shè)置rememberme showImg(https://segmentfault.com/img/remote/1460000012800157); 前一次登錄勾選了記住我, 則本次登錄時...
摘要:寫在前面在一款應(yīng)用的整個生命周期,我們都會談及該應(yīng)用的數(shù)據(jù)安全問題。用戶的合法性與數(shù)據(jù)的可見性是數(shù)據(jù)安全中非常重要的一部分。 寫在前面 在一款應(yīng)用的整個生命周期,我們都會談及該應(yīng)用的數(shù)據(jù)安全問題。用戶的合法性與數(shù)據(jù)的可見性是數(shù)據(jù)安全中非常重要的一部分。但是,一方面,不同的應(yīng)用對于數(shù)據(jù)的合法性和可見性要求的維度與粒度都有所區(qū)別;另一方面,以當前微服務(wù)、多服務(wù)的架構(gòu)方式,如何共享Sessi...
閱讀 1346·2023-01-11 13:20
閱讀 1684·2023-01-11 13:20
閱讀 1132·2023-01-11 13:20
閱讀 1858·2023-01-11 13:20
閱讀 4100·2023-01-11 13:20
閱讀 2704·2023-01-11 13:20
閱讀 1385·2023-01-11 13:20
閱讀 3597·2023-01-11 13:20