目录
5.3 insightglacier/Shiro_exploit复现
1.漏洞概述
Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。在它编号为550的 issue 中爆出严重的 Java 反序列化漏洞。只要rememberMe的AES加密秘钥被泄露,无论shiro是什么版本都会导致反序列化漏洞。
由于Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
2.漏洞原理
Apache Shiro框架提供了RememberMe的功能。如果用户没有为RememberMe功能配置密码,则Apache Shiro 1.2.5之前的版本将允许远程攻击者执行任意代码或通过未指定的请求参数绕过预期的访问限制。
Shiro对rememberMe的cookie做了加密处理,shiro在CookieRememberMeManager类中将cookie中rememberMe