0x00 CVE-2016-4437(rememberme)
1、简介
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
————————————————
https://blog.youkuaiyun.com/weixin_43571641/article/details/108182722
Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。这个AES解密类似于md5加密过程中使用的盐,简单的理解为这个shiro框架泄露了相应的AES密钥
出现的标志:返回数据包中出现rememberMe=deleteme字样,说明此系统使用的为shiro框架,即可使用对应的工具进行检测
目前各种工具的原理大体相同:爆破AES密钥,爆破构造链,回显利用,和fastjson类似,都可以利用dnslog判断
————————————————
https://blog.youkuaiyun.com/qq_54030686/article/details/122656255
2、搭建
3、利用shiro_attack工具实施攻击(改工具只能运行在1.8版本的jdk环境中)
成功
0x01 CVE-2020-1957(shiro绕过)
1、简介
Apache Shiro 是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
CVE-2020-1957,Spring Boot中使用 Apache Shiro 进行身份验证、权限控制时,可以精心构造恶意的URL,利用 Apache Shiro 和 Spring Boot 对URL的处理的差异化,可以绕过 Apache Shiro 对 Spring Boot 中的 Servlet 的权限控制,越权并实现未授权访。
漏洞影响:
Apache Shiro < 1.5.1
————————————————
https://blog.youkuaiyun.com/huangyongkang666/article/details/124176969
2、搭建
2、复现
通过构造恶意payload :url/xxx/..;/admin/
绕过身份验证检查并访问管理页面