背景:Apach Shiro官方披露其cookie持久化参数rememberMe加密算法存在漏洞,可被Padding Oracle攻击,攻击者利用Padding Oracle攻击手段可构造恶意的rememberMe值,绕过加密算法验证,执行java反序列化操作,最终可导致远程命令执行获取服务器权限,风险极大。
1,漏洞描述:
Apache Shiro < 1.4.2 版本中cookie值rememberMe通过AES-128-CBC模式加密,容易受到Padding Oracle攻击。攻击者可以通过以下步骤完成攻击:
1、登录Shiro网站,获取持久化cookie中rememberMe字段的值;
2、通过ysoserial反序列漏洞利用工具生成攻击payload作为plaintext;
3、使用rememberMe值作为prefix进行Padding Oracle攻击,加密payload的plaintext得到rememberMe攻击字符串;
4、使用rememberMe攻击字符串重新请求网站,进行反序列化攻击,最终导致远程任意命令执行。
2,影响版本
1.2.5,1.2.6,1.3.0,1.3.1,1.3.2,1.4.0-RC2,1.4.0,1.4.1
3,漏洞解决
1. 升级至安全版本,下载链接:https://github.com/apache/shiro/releases
2. 关闭rememberMe持久化登录功能。