前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shiro安全框架_漏洞利用及攻击框架

shiro安全框架_漏洞利用及攻击框架

作者头像
全栈程序员站长
发布2022-10-04 20:22:45
8410
发布2022-10-04 20:22:45
举报

大家好,又见面了,我是你们的朋友全栈君。

一、Shiro漏洞原理

Apache Shiro框架提供了记住我的功能(RemeberMe),用户登录成功后会生成经过加密并编码的cookie。

cookie的key为RemeberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密,最后在使用base64编码处理形成的

在服务端接收cookie值时,按以下步骤解析:

  1. 检索RemeberMe cookie的值
  2. Base 64解码
  3. 使用ACE解密(加密密钥硬编码)
  4. 进行反序列化操作(未作过滤处理)

在调用反序列化的时候未进行任何过滤,导致可以触发远程代码执行漏洞

用户登陆成功后会生成经过加密并编码的cookie,在服务端接收cookie值后,Base64解码–>AES解密–>反序列化。攻击者只要找到AES加密的密钥,就可以构造一个恶意对象,对其进行序列化–>AES加密–>Base64编码,然后将其作为cookie的rememberMe字段发送,Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞。只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞

二、Shiro序列化利用条件

由于使用了AES加密,要想成功利用漏洞则需要获取AES的加密密钥,而在shiro1.2.4之前版本中使用的是硬编码,AES加密的密钥默认在代码里。其默认密钥的base64编码后的值 kPH+bIxk5D2deZiIxcaaaA== ,这里就可以通过构造恶意的序列化对象进行编码,加密,然后作为cookie加密发送,服务端接收后会解密并触发反序列化漏洞。

目前已经更新了很多版本,官方通过去掉硬编码的密钥,使其每次生成一个密钥来解决该漏洞。但是,目前一些开源系统、教程范例代码都使用固定的编码,也有很多开源项目内部集成了shiro并二次开发,可能会重现低版本shiro的默认固定密钥的风险。用户如果不对密钥进行修改,即使升级shiro版本,也依旧存在固定密钥的风险。这里可以通过搜索引擎和github来收集密钥,提高漏洞检测和利用的成功率。

三、Shiro框架识别

请求包的cookie中存在rememberMe字段。 返回包中存在set-Cookie:remeberMe=deleteMe。 请求包中存在rememberMe=x时,响应包中存在rememberMe=deleteMe。(有时候服务器不会主动返回remeberMe=deleteMe,直接发包即可,将Cookie内容改为remember Me=1,若相应包有rememberMe=deleteMe,则基本可以确定网站是apache shiro搭建的。) URL中有shiro字样

四、Shiro漏洞汇总

CVE-2020-17523 CVE-2020-17510 CVE-2020-13933 CVE-2020-11989#Apache Shiro身份验证绕过漏洞 CVE-2016-6802#Shiro Padding Oracle Attack CVE-2016-4437#Shiro rememberMe反序列化漏洞

开源的burp shiro检测插件: https://github.com/pmiaowu/BurpShiroPassiveScan https://github.com/potats0/shiroPoc shiro漏洞利用工具: https://github.com/j1anFen/shiro_attack https://github.com/fupinglee/ShiroScan

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196069.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月8日 上,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、Shiro漏洞原理
  • 二、Shiro序列化利用条件
  • 三、Shiro框架识别
  • 四、Shiro漏洞汇总
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档