0


Shiro 550与721漏洞的不同

一、一样的利用过程🍺

Apache Shiro框架进行登录,服务端在接收cookie时,会经过下面的流程:

1、检索RememberMe Cookie的值

2、Base64解码

3、AES解密(加密密钥硬编码)

4、进行

反序列化

操作(未过滤处理)

5、攻击者可以使用Shiro的

默认密钥构造恶意序列化对象

进行编码来伪造用户的Cookie,服务端反序列化时触发漏洞,从而执行命令

二、主要区别🍺

1、这两个漏洞主要区别在于Shiro550使用已知

密钥碰撞

,只要有足够密钥库(条件较低),不需要Remember Cookie

2、Shiro721的ase加密的key基本猜不到,系统随机生成,可使用登录后rememberMe去爆破正确的key值,即利用有效的RememberMe Cookie作为

Padding Oracle Attack的前缀

,然后精心构造 RememberMe Cookie 值来实现反序列化漏洞攻击,难度高

三、版本问题🍺

1、Shiro框架1.2.4版本之前的登录时默认是

先验证

"rememberMe" Cookie的值,而不是先进行身份验证,这也是Shiro550漏洞能够利用的原因之一,攻击者可以利用该漏洞通过伪造"rememberMe" Cookie的值来绕过Shiro框架的身份认证机制,从而实现未授权访问

2、Shiro框架1.2.4版本之后的登录时先进行身份验证,而不是先验证"rememberMe" Cookie的值,所以攻击者需要知道受害者已经通过登录验证,并且Shiro框架已经为受害者创建了一个有效的会话,以便攻击者可以利用该会话ID进行身份伪造并

绕过Shiro框架的权限控制

机制

3、同时,Shiro框架的登录流程也是可以自定义的

标签: web安全 安全

本文转载自: https://blog.csdn.net/m0_55793759/article/details/129398462
版权归原作者 迷途羔羊pro 所有, 如有侵权,请联系我们删除。

“Shiro 550与721漏洞的不同”的评论:

还没有评论