Apache Shiro Padding Oracle缝隙安全公告

颁布功夫 2019-11-14

缝隙编号和级别


CVE编号:暂无, ,,,,,危险级别:高危, ,,,,,CVSS分值:官方未评定


影响版本


受影响的版本


Apache Shiro 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版本 。。。。。。。


缝隙概述


Apache Shiro是美国阿帕奇(Apache)软件基金会的一套用于执行认证、授权、加密和会话治理的Java安全框架 。。。。。。。


Apache Shiro cookie中的通过AES-128-CBC模式加密的rememberMe字段存在问题, ,,,,,容易受到Padding Oracle攻击 。。。。。。。攻击者通过使用RememberMe cookie作为Padding Oracle Attack的前缀, ,,,,,而后通过精心造作的RememberMe来执行Java反序列化攻击 。。。。。。。


整个过程攻击者无需知路RememberMe的加密秘钥 。。。。。。。并通过以下步骤提议攻击:


首先登录网站, ,,,,,并从cookie中获取rememberMe;;;;;;;;


其次使用rememberMe cookie作为Padding Oracle攻击的前缀;;;;;;;;


而后通过Padding Oracle攻击加密一条ysoserial工具中的Java序列化Payload来机关恶意rememberMe;;;;;;;;


最后使用刚刚机关的恶意rememberMe沉新要求网站, ,,,,,进行反序列化攻击, ,,,,,最终导致远程代码执行 。。。。。。。


缝隙验证


该缝隙必须在登录Apache Shiro前提下能够利用成功, ,,,,,进行远程代码执行, ,,,,,缝隙复现如图所示:


登录

8827太阳集团(Macau)股份有限公司-Official website



登录成功


8827太阳集团(Macau)股份有限公司-Official website



启动jrmp


8827太阳集团(Macau)股份有限公司-Official website



执行exp


8827太阳集团(Macau)股份有限公司-Official website



缝隙利用成功


8827太阳集团(Macau)股份有限公司-Official website



建复建议


目前官方尚未颁布缝隙建复补丁 。。。。。。。


一时建复建议:


批改shiro配置中的AES加密步骤不为CBC模式 。。。。。。。


参考链接


https://issues.apache.org/jira/browse/SHIRO-721