【漏洞复现】Apache_Shiro_1.2.4_反序列化漏洞(CVE-2016-4437)

感谢互联网提供分享知识与智慧,在法治的社会里,请遵守有关法律法规

文章目录

      • 1.1、漏洞描述
      • 1.2、漏洞等级
      • 1.3、影响版本
      • 1.4、漏洞复现
        • 1、基础环境
        • 2、漏洞分析
        • 3、漏洞验证

说明内容
漏洞编号CVE-2016-4437
漏洞名称Apache_Shiro_1.2.4_反序列化漏洞
漏洞评级高危
影响范围Shiro <= 1.2.5
漏洞描述Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令
修复方案修改默认秘钥
升级

1.1、漏洞描述

Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。

Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。

漏洞原理:

Apache shiro框架提供了记住我的功能(Rememberme),用户登录成功后生成经过加密并编码的cookie。cookie的key为rememberme,cookie的值是经过对相关的信息进行序列化,然后实用aes加密,最后在使用b ase64编码处理形成的。

在服务端接收到cookie值时,按照如下步骤来解析处理:

1、检索RememberMe cooike的值
2、b ase 64解码
3、使用aes解密(加密秘钥硬编码)
4、进行反序列化操作(未做过过滤处理)
在调用反序列化时未进行任何过滤,导致可以出发远程代码执行漏洞

利用条件:

由于使用了aes加密,想要成功利用漏洞则需要获取ase的加密秘钥,而在shiro的1.2.4之前的版本中使用的硬编码。其中默认秘钥的b ase64编码后的值为kPH+bIxk5D2deZiIxcaaaA==,这里就可以通过构造恶意的序列化对象进行编码,加密,然后欧威cooike加密发送,服务端接受后会解密并触发反序列化漏洞。

尽管目前已经更新了许多版本,官方并没有反序列化漏洞本身解决方法,而是通过去掉硬编码的秘钥,使其每次生成一个密码来解决给漏洞。但是目前一些开源系统、教程范例代码都使用了固定的编码,这里可以通过搜索引擎,github等来收集秘钥,通过漏洞检查与利用的成功率

1.2、漏洞等级

高危

1.3、影响版本

Shiro <= 1.2.5

1.4、漏洞复现

1、基础环境

Path:Vulhub/shiro/CVE-2016-4437


启动测试环境:

sudo docker-compose up -d

访问http://your-ip:{端口}/即可看到,可使用admin:vulhub进行登录

在这里插入图片描述

在这里插入图片描述

2、漏洞分析

未登录的情况下,请求包中的cookie没有rememberMe字段,返回包set-cookie里面也没有deleteme字段

在这里插入图片描述

登录失败的话,不管勾选RememberMe字段没有,返回包都会有remeberme=deleteme字段

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

不勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有rememberMe=deleteMe字段。但是之后的所有请求中Cookie都不会有rememberMe字段

在这里插入图片描述

勾选RememberMe字段,登陆成功的话,返回包set-Cookie会有经过加密后rememberMe=deleteMe字段,还会有rememberMe字段,之后的所有请求中Cookie都会有rememberMe字段

在这里插入图片描述

3、漏洞验证

利用Shiro_exploit这样的exp工具

在这里插入图片描述

在这里插入图片描述

反弹到kali机器上

在这里插入图片描述

反弹Shell成功

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/163872.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity项目转微信小游戏保姆教程,繁杂问题解决,及微信小游戏平台简单性能测试

前言 借着某人需求&#xff0c;做了一波简单的技术调研&#xff1a;将Unity项目转换为微信小游戏。 本文主要内容&#xff1a;Unity转换小游戏的步骤&#xff0c;遇到问题的解决方法&#xff0c;以及简单的性能测试对比 微信小游戏的限制 微信小游戏对程序包体大小有严格限制…

AI 绘画 | Stable Diffusion 图生图

图生图简介 Stable Diffusion 不仅可以文生图&#xff0c;还可以图生图。文生图就是完全用提示词文本去生成我们想要图片&#xff0c;但是很多时候会有词不达意的感觉。就像我们房子装修一样&#xff0c;我们只是通过文字描述很难表达出准确的想要的装修效果&#xff0c;如果能…

Transformer的最简洁pytorch实现

目录 前言 1. 数据预处理 2. 模型参数 3. Positional Encoding 4. Pad Mask 5. Subsequence Mask 6. ScaledDotProductAttention 7. MultiHeadAttention 8. FeedForward Networks 9. Encoder Layer 10. Encoder 11. Decoder Layer 12. Decoder 13. Transformer 1…

栈(定义,基本操作,顺序存储,链式存储)

目录 1.栈的定义1.重要术语2.特点 2.栈的基本操作3.栈的顺序存储1.顺序栈的定义2.基本操作1.初始化2.进栈3.出栈4.读栈顶 3.共享栈 4.栈的链式存储 1.栈的定义 栈( Stack&#xff09;是只允许在一端进行插入或删除操作的线性表。 一种受限的线性表&#xff0c;只能在栈顶进行插…

vs code 和 hbuilder 历史记录查询

一.Hbuilder 找到需要的文件右键 二. vs code

ACmix:卷积和self-attention的结合,YOLOv5改进之ACmix

目录 一、ACmix理论部分 二、代码 三、YOLOv5改进 ACC3 一、ACmix理论部分 论文地址:2111.14556.pdf (arxi

C语言--typedef的使用

前言 在C语言中使用结构体时必须加上struct这个关键字,那有没有办法省略这个呢?要想达到这个目的就 需要用到关键字typedef,顾名思义”类型定义”。 typedef 数据类型 新的别名; 它是用来操作数据类型。其主要作用有两个: 1.给一个较长较复杂的类型取一个简单的别名。 2.给类…

【数据结构初级(2)】单链表的基本操作和实现

文章目录 Ⅰ 概念及结构1. 单链表的概念2. 单链表的结构 Ⅱ 基本操作实现1. 定义单链表结点2. 创建新结点3. 单链表打印4. 单链表尾插5. 单链表头插6. 单链表尾删7. 单链表头删8. 单链表查找9. 在指定 pos 位置前插入结点10. 删除指定 pos 位置的结点11. 单链表销毁 本章实现的…

ESP32 未来能够取代 STM32吗?

今日话题&#xff0c;ESP32 未来能够取代 STM32吗&#xff1f;ESP32和STM32各自有其特点和优势&#xff0c;能否取代彼此取决于具体应用和需求。STM32的流行除了性价比外&#xff0c;还有其强大的开发环境&#xff0c;例如Cubemx能够快速生成代码&#xff0c;使得上手STM32的速…

泛微移动管理平台E-mobile lang2sql接口任意文件上传漏洞

一、漏洞描述 泛微e-mobile,由高端OA泛微专业研发,是业内领先的移动OA系统,提供移动审批,移动考勤,移动报表,企业微信等丰富办公应用,支持多种平台运行,灵活易用安全性高。 e-mobile可满足企业日常管理中的绝大部分管理需求&#xff0c; 诸如市场销售、项目、采购、研发、客服…

Java设计模式——策略模式

1.策略模式简介 策略模式&#xff1a;策略模式是一种行为型模式&#xff0c;它将对象和行为分开&#xff0c;将行为定义为 一个行为接口 和 具体行为的实现。策略模式最大的特点是行为的变化&#xff0c;行为之间可以相互替换。每个if判断都可以理解为就是一个策略。本模式使得…

基于java web的计算机office课程平台设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…