Shiro框架漏洞

Apache Shiro系列漏洞利用以及实战总结 前言: Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。内置了可以连接大量安全数据源(又名目录)的Realm,如LDAP、关系数据库(JDBC)、类似INI的文本配置资源以及属性文件等。 目录 RememberMe RCE-550(CVE-2016-4437) 远程安全限制绕过漏洞(CVE-2016-6802) Padding Orac 阅读详情

一、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

[JavaWeb]Shiro漏洞集合——代码审计 Python微信订餐小程序课程视频 https://edu.youkuaiyun.com/course/detail/36074 Python实战量化交易理财系统 https://edu.youkuaiyun.com/course/detail/35475 Shiro漏洞集合 Shiro其实就是一组Filter,他会进行验证,鉴权,会话 Management,再把请求转到web过滤器。所以最好先去对Shiro有个整体性的了解。 复现环境:https://github.com/ttestoo/java-sec-study/tree 阅读详情

相关推荐

Shiro反序列化漏洞利用笔记

Shiro反序列化漏洞利用笔记 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。目前在Java web应用安全框架中,最热门的产品有Spring Security和Shiro,二者在核心功能上几乎差不多,但Shiro更加轻量级,使用简单、上手更快、学习成本低,所以Shiro的使用量一直高于Spring Security。产品用户量之高,一旦爆发漏洞波及范围相当广泛,研究相关漏洞是很有必要的。 一、Shiro反序列化漏洞 1.1 安全框架 Apache S

文公子的博客 855

【漏洞分析】远程命令执行漏洞总结

fastjson用于将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。fastjson.jar是阿里开发的一款专门用于Java开发的包,可以方便的实现json对象与JavaBean对象的转换,实现JavaBean对象与json字符串的转换,实现json对象与json字符串的转换。除了这个fastjson以外,还有Google开发的Gson包,其他形式的如net.sf.json包,都可以实现json的转换。方法名称不同而已,最后的实现结果都是一样的。

顶峰 510

利用LTspice设计Pt100测温电路

是一种广泛使用的温度传感器,它属于(RTD, Resistance Temperature Detector)的类型,通常用于温度测量。在0°C时,的电阻值为100欧姆,且它的电阻值会随着温度的升高而升高。PT100热电阻温度阻值对应表)因此可以根据这一特性来检测出环境温度。

2301_77033628的博客 2417

web中间件漏洞--shiro漏洞

一、初步认识shiro来源 是什么: Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理。 背景: 2016年,网络中曝光1.2.4以前的版本存在反序列化漏洞。尽管该漏洞已经曝光几年,但是在实战中仍然比较实用。 二、如何利用shiro漏洞 漏洞原理: Apache Shiro框架提供了记住我的功能(RememberMe),用户登陆成功后会生成经过加密并编码的cookie。cookie的key为RememberMe,cookie的值是经过对相关信息进行序列化,然后使用aes加密

qq_42404383的博客 1913

Veritas NetBackup 10.1 Windows安装指南:从账户配置到完整部署

本文详细介绍了Veritas NetBackup 10.1在Windows系统上的完整安装流程,从账户配置到部署验证。重点讲解了创建专用服务账户、安装组件选择、许可证输入等关键步骤,并提供了常见问题排查和进阶配置建议,帮助用户顺利完成企业级备份解决方案的部署。

weixin_26765287的博客 454

KEGG数据库与KAAS工具:基因功能注释的实用指南

本文提供了使用KEGG数据库与KAAS工具进行基因功能注释的完整实用指南。详细阐述了如何从准备基因或蛋白序列开始,通过KAAS服务器获取KEGG Orthology(KO)编号,并解读注释结果。文章进一步介绍了如何利用KOBAS工具进行通路富集分析,将定性观察转化为定量洞察,并分享了提高注释准确率、处理大数据集及使用API等避坑技巧与高阶方法,为基因组学、转录组学研究者奠定坚实的数据分析基础。

weixin_29292535的博客 392

框架漏洞(2)shiro

知识面,决定看到的攻击面有多广。知识链,决定发动的杀伤链有多深。

m0_73399576的博客 1144

深度学习CV八股文

深度学习CV八股文一、深度学习中解决过拟合方法L1和L2正则化DropoutDropout正则化Inverted Dropout(反向随机失活)Dropout起到正则化效果的原因:Dropout的缺点eargstopping ( 早停法 )二、深度学习中解决欠拟合方法三、梯度消失和梯度爆炸解决梯度消失的方法解决梯度爆炸的方法四、神经网络权重初始化方法Xavier指数加权移动平均数五、梯度下降法梯度下降SGD(随机梯度下降法)Momentum(动量梯度下降)Nesterov Momentum自适应学习率算法A

填坑 2万+

vulhub漏洞—shiro框架

shiro框架反序列化rce 利用工具一把梭 使用漏扫工具Xary xray_windows_amd64.exe webscan --url http://xxx/ --html-output 125.html 发现是shiro框架漏洞 使用工具一把梭,工具在github上自行下载 RCE

m0_67393619的博客 336

【Vite+Vue3+TS】基于Vite+Vue3+TypeScript+ESLint+Prettier+Stylelint搭建项目(亲测超详细)

结合了很多项目和文章,总结一篇项目构建的笔记。 温馨提示:文章末尾记录了我在搭建项目过程中,遇到的一些问题和解决办法 ~

aDiaoYa_的博客 4231

Allegro老鸟的20年效率秘籍:用YepEda Skill脚本实现PCB设计全流程自动化

本文分享了Allegro资深工程师20年效率秘籍,通过YepEda Skill脚本实现PCB设计全流程自动化。从封装建库到规则配置,再到DFM审核,YepEda Skill大幅提升设计效率,每天节省至少4小时重复劳动。文章详细解析了自动化工具链的核心功能,并提供了实战技巧和量化对比数据。

weixin_42546392的博客 239

Shiro框架漏洞分析与复现

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性,可以快速轻松地保护任何应用程序——从最小的移动应用程序到最大的 Web 和企业应用程序。

未完成的歌~的博客 5318

EuROC 数据集格式及相关代码

Euroc提供ROS和zip两种数据格式。

~勿据散客~的博客 2093

常见框架漏洞—Shiro

6.我们在云服务器新建一个1.txt,里面写入反弹shell的代码。4.使用工具连接,输入url并爆破密钥。值,说明该系统使⽤了Shiro框架。看响应包 header中返回。2.访问网页登录并进行抓包。5.在命令执行框中输入命令。我们访问后发现成功监听!我们输入反弹shell。

ljh123321ljh的博客 282

【AI智能体】基于Coze制作跨境电商客服助手工作流实战操作详解

基于Coze制作跨境电商客服助手工作流实战操作详解

congge 3464

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

常见框架漏洞:Shiro

使用工具。

muxixin的博客 169

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

框架、组件漏洞系列4:Apache shiro漏洞汇总

Apache Shiro提供了认证、授权、加密和会话管理功能,将复杂的问题隐藏起来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码。并且在实现此目标时无须依赖第三方的框架、容器或服务,当然也能做到与这些环境的整合,使其在任何环境下都可拿来使用。认证(Authentication):用户身份识别。有时可看作为“登录(login)”,它是用户证明自己是谁的一个行为。授权(Authorization):访问控制过程,好比决定“认证(who)”可以访问“什么(what)”....

m0_67400973的博客 1342

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Shiro框架漏洞攻略(CVE-2016-4437)

 Shiro  rememberMe反序列化漏洞(Shiro-550)

2301_78554096的博客 757

关于JeeSite框架Shiro序列化漏洞修复解决方法

关于JeeSite框架Shiro序列化漏洞修复解决方法 一、升级shiro的版本 将这里改为百度上所说的那个有漏洞的版本以上的随便版本:1.2.4以上版本 这里刚开始以为修改版本就可以解决这个漏洞,然而并没有。所以产生了第二步。 二、配置动态密匙 1、找到项目shiro配置文件 2、按照源码的方式新写一个秘钥生成器 (1) 到项目种shiro目录下面新建一个类(如下图) (2) 详细代码 public class GenerateCipherKey { /** * 随机生成密匙

ying_521125的博客 4132

常见框架漏洞攻略-Shiro篇

Apache Shiro是⼀个强⼤易⽤的Java安全框架,提供了认证、授权、加密和会话管理等功能。Shiro框架直观、易⽤,同时也能提供健壮的安全性。

m0_66808441的博客 358

常见框架漏洞(四)----【Shiro】

Shiro框架常见漏洞

qq_65379983的博客 368

Shiro框架漏洞总结

Apache Shiro是一个强大且易用的Java安全框架,能够用于身份验证、授权、加密和会话管理。只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞。Shiro拥有易于理解的API,您可以快速、轻松地获得任何应用程序——从最小的移动应用程序到最大的网络和企业应用程序。

zhuyi666的博客 9070

【常见框架漏洞】Thinkphp(TP)、 struts2 、Spring、Shiro

​ ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的,是一个快速、兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为ThinkPHP,遵循Apache2开源协议发布,从Struts结构移植过来并做了改进和完善,同时也借鉴了国外很多优秀的框架和模式,使用面向对象的开发结构和MVC模式,融合了Struts的思想和TagLib(标签库)、RoR的ORM映射和ActiveRecord模式。

m0_59151303的博客 1746
上一篇: redis命令行查询某个key值
下一篇: Spring repo - repo.spring.io
普通网友
博客等级 码龄5年 3万+粉丝 378原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值