国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Apache Shiro RememberMe 命令執(zhí)行漏洞修復

IT那活兒 / 2016人閱讀
Apache Shiro RememberMe 命令執(zhí)行漏洞修復

點擊上方“IT那活兒”公眾號,關(guān)注后了解更多內(nèi)容,不管IT什么活兒,干就完了?。?!


背 景

Apache Shiro是用戶執(zhí)行認證、授權(quán)、加密和會話管理的Java安全框架。Apache Shiro<=1.2.4存在Java反序列化漏洞。遠程攻擊者通過構(gòu)造的請求,利用此漏洞遠程執(zhí)行任意代碼。

本地某系統(tǒng)使用了Apache Shiro,Shiro 提供了記住我(RememberMe)的功能,下次訪問時無需再登錄即可訪問。系統(tǒng)將密鑰硬編碼在代碼里,且在官方文檔中并沒有強調(diào)修改該密鑰,導致使用者大多數(shù)都使用了默認密鑰。

攻擊者可以構(gòu)造一個惡意的對象,并且對其序列化、AES加密、base64編碼后,作為cookie的rememberMe字段發(fā)送。Shiro將rememberMe進行解密并且反序列化,最終造成反序列化漏洞,進而在目標機器上執(zhí)行任意命令。


漏洞修復

檢查Shiro配置文件ShiroConfig.java 是否包含上面提到的默認秘鑰 fCq+/xW488hMTCD+cmJ3aQ==,如果是使用的默認密鑰則需要修改,防止被執(zhí)行命令攻擊。
解決方案:
  1. 升級Shiro到最新 1.9.1版本;
  2. 重新生成一個新的秘鑰,保證唯一且不要泄漏。
// 直接拷貝到main運行即可生成一個Base64唯一字符串。
KeyGenerator keygen = KeyGenerator.getInstance("AES");
SecretKey deskey = keygen.generateKey();
System.out.println(Base64.encodeToString(deskey.getEncoded()));
替換掉cipherKey的默認秘鑰。


本文作者:孫濤濤(上海新炬王翦團隊)

本文來源:“IT那活兒”公眾號

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/129152.html

相關(guān)文章

  • 基于shiro框架實現(xiàn)自動登錄(rememberMe)

    摘要:關(guān)于的自動對用戶對象序列化并加密當獲得請求時能夠獲取反序列化且解密之后的用戶對象。 shirorememberMe流程原理研究 輸入用戶密碼正兒八經(jīng)登錄時, 如果勾選了記住我, 則后臺給shiro設(shè)置rememberme showImg(https://segmentfault.com/img/remote/1460000012800157); 前一次登錄勾選了記住我, 則本次登錄時...

    gghyoo 評論0 收藏0
  • 不用 Spring Security 可否?試試這個小而美的安全框架

    摘要:寫在前面在一款應(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...

    toddmark 評論0 收藏0

發(fā)表評論

0條評論

IT那活兒

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<