0x01 Shiro介绍
Apache Shiro 是一个强大易用的Java安全框架,提供了认证、授权、加密和会话管理等功能,Shiro框架直观、易用、同时也能提供健壮的安全性。
Apache Shiro反序列化漏洞分为两种:Shiro-550、Shiro-721
0x02 Shiro-550 反序列化漏洞
CVE-2016-4437
漏洞原理
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的Cookie,在服务端对rememberMe的Cookie值先base64解码然后AES解密在反序列化,就导致了反序列化RCE漏洞。
影响范围
Apache Shiro <= 1.2.4
原因分析
Apache Shiro默认使用了CookieRememberMeManager,其处理Cookie的流程:得到rememberMe的Cookie值 -> Base64解码 -> AES解密 ->反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。</