Shiro550反序列化漏洞原理与复现"

admin 2026-10-18 03:12:09 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

Shiro550反序列化漏洞原理与复现

原创

予辉安全
予辉安全

予辉安全

2026年8月21日 18:00
河北

在小说阅读器读本章

去阅读

-漏洞原理-


1、什么是Shiro?

Apache Shiro是一个强大且易用的Java安全框架,用于执行身份验证、授权、密码和会话管理。使用Shiro易于理解的API,可以快速轻松地对应用程序进行保护。

2、RememberMe机制的安全隐患

在Shiro框架中,执行身份验证时提供了一个\"记住密码\"的功能(RememberMe)。如果用户登录时勾选了这个选项,用户的请求数据包中将会在Cookie字段多出一段数据,这段数据包含了用户的身份信息,且经过加密。

3、加密流程:

用户信息 → 序列化 → AES加密(使用密钥key)→ Base64编码 → 添加到RememberMe Cookie

4、服务端验证流程:

取出Cookie中的rememberMe值 → Base64解码 → AES解密(使用密钥key)→ 反序列化

5、关键问题:

AES是一种对称加密算法,加解密使用相同的密钥。在Shiro版本≤1.2.24中,使用了固定的密钥:
kPH+bIxk5D2deZiIxcaaaA==
这意味着攻击者可以直接用这个密钥,自行构造恶意序列化数据,放入Cookie中发送给服务端。服务端解密后执行反序列化,就会触发恶意代码。

-影响版本-


版本线 受影响范围
Apache Shiro ≤ 1.2.24

-漏洞复现-


1、靶场搭建

使用Vulhub或者现在靶场

cd /path/to/vulhub/shiro/CVE-2016-4437docker-compose up -d

https://hackhub.get-shell.com/

2、shiro框架判断

登录时勾选\"Remember Me\"选项,抓包观察:

  • 请求包中是否出现rememberMe字段
  • 响应包中是否出现Set-Cookie: rememberMe=deleteMe字段

注意:出现rememberMe=deleteMe只能说明页面使用了Shiro进行身份验证,并不能直接证明存在漏洞。漏洞的核心在于能否获得AES加密密钥。

3、使用工具验证

打开shiro\_attack-4.7.0-SNAPSHOT-all.jar一次爆破密钥和利用链

-工具获取-


后台回复:20260821

End

文章都看完了,还不点个赞

回顾往期内容

CVE-2025-24813丨Tomcat远程代码执行漏洞复现

LeakDetector丨基于Bing Dork的自动化信息泄露侦察工具

CTF闯关实战:第一题“flag在这里”

SQL注入靶场显错注入(一)

Sunny网络中间件

JAVA代码审计:鉴权漏洞深度分析

你不知道的表网、深网与暗网世界


Shiro550反序列化漏洞原理与复现" 网络安全文章

Shiro550反序列化漏洞原理与复现"

本文详细介绍了ApacheShiro550反序列化漏洞(CVE-2016-4437)的原理与复现方法。漏洞源于Shiro框架的RememberMe功能使用固定AES密钥kPH+bIxk5D2deZiIxcaaaA==对用户身份信息进行加密,攻击者可利用此密钥构造恶意序列化数据触发远程代码执行。影响版本为Shiro≤1.2.24。文章提供了使用Vulhub搭建靶场及shiro\\_attack工具进行漏洞验证的步骤。
从百度挑战赛第14到tsecbenchV1榜单第一:我的自主攻防Agent复盘hxbai" 网络安全文章

从百度挑战赛第14到tsecbenchV1榜单第一:我的自主攻防Agent复盘hxbai"

作者开发了hxbai自主攻防Agent,在百度安全应急响应中心比赛获第14名后,通过优化会话边界、错误提交、内网横向和预算分配等问题,在TsecbenchV1榜单取得综合得分92.57第一的成绩。核心设计包括薄编排、三门校验、声明式提交、长会话和跨题学习,实战覆盖Web、二进制、多阶段渗透等多个能力域。项目已开源,计划在XBOW和CyBench等基准上进一步验证。
评论:0   参与:  0