【逃离计划】shiro反序列化漏洞的原理

admin 2024年5月14日22:01:27评论1 views字数 605阅读2分1秒阅读模式

Apache Shiro

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

shiro反序列化漏洞原理

AES加密的密钥Key被硬编码在代码里,意味着每个人通过源代码都能拿到AES加密的密钥。因此,攻击者构造一个恶意的对象,并且对其序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞。

因为在反序列化时,不会对其进行过滤,所以如果传入恶意代码将会造成安全问题 在 1.2.4 版本前,是默认ASE秘钥,Key: kPH+bIxk5D2deZiIxcaaaA==,可以直接反序列化执行恶意代码而在1.2.4之后,ASE秘钥就不为默认了,需要获取到Key才可以进行渗透

shiro的身份认证工作流程

通过前端传入的值->获取rememberMe cookie->base64加密->AES加密 (对称加解密)->反序列化

【逃离计划】shiro反序列化漏洞的原理

特征判断

返回包中包含 rememberMe=deleteMe 字段。或者url中有shiro字样有时候服务器不会主动返回remember=deleteme,直接发包即可

原文始发于微信公众号(Devil安全):【逃离计划】shiro反序列化漏洞的原理

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年5月14日22:01:27
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【逃离计划】shiro反序列化漏洞的原理https://cn-sec.com/archives/2068724.html

发表评论

匿名网友 填写信息