关于shiro反序列化漏洞一次完整的攻击

2023-11-12

1.1 漏洞原理

Apache Shiro框架提供了记住密码的功能(RememberMe),用户登录成功后会生成经过加密并编码的cookie。在服务端对rememberMe的cookie值,先base64解码然后AES解密再反序列化,就导致了反序列化RCE漏洞。
那么,Payload产生的过程:
命令=>序列化=>AES加密=>base64编码=>RememberMe Cookie值
在整个漏洞利用过程中,比较重要的是AES加密的密钥,如果没有修改默认的密钥那么就很容易就知道密钥了,Payload构造起来也是十分的简单。

1.2 影响版本:Apache Shiro < 1.2.4

1.3 特征判断:返回包中包含rememberMe=deleteMe字段。

1.4 漏洞利用

1.4.1 环境搭建

获取docker镜像
docker pull medicean/vulapps:s_shiro_1
启动docker镜像:
docker run -d -p 8080:8080 medicean/vulapps:s_shiro_1

1.4.2 工具准备

1、docker配置环境
首先使用docker进行环境配置,可以使用vulhub
在这里插入图片描述
然后再进入界面使用burpsuite进行检测发现有cookie
在这里插入图片描述
使用工具进行检测(网上开源工具很多,直接找个用就行)

1.5框架检测

在request的cookie中写入rememberMe=1,然后再来看response的set-cookie是否出现的rememberMe=deleteMe

1.6防御措施

1.确定自己使用的shiro版本要高于1.2.4;
2.在代码中全局搜索 “setCipherKey(Base64.decode(” 关键字,或者"setCipherKey"方法,Base64.decode()中的字符串就是shiro的密钥,要确保该密钥的安全性,千万不要使用公开的密钥

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于shiro反序列化漏洞一次完整的攻击 的相关文章

  • svn无法查看日志显示离线问题

    1 如下图所示 查看svn日志时 报只能离线查看 如上图所示点击Show log后 报如下错误 2 解决办法 如下图所示 在svn本地仓库右击 选择TortoiseSVN 点击Revision graph后 等待弹框加载完毕后再关闭 再重新
  • keil5软件安装&开发环境搭建教程(mdk,c51通用)

    这是我在csdn上写的第一篇文章 心情激动兴奋 因为之前都是看别人写的博客 从来没想过自己去写一篇 在学长的鼓励下 尝试完成人生第一篇博客 仍有不足 希望大佬多多指正 写这篇的目的是因为keil5的安装是许多人入门嵌入式的第一步 而且以后遇
  • VSCode插件生成编号、目录、文件目录树

    安装VSCode 官方地址 https code visualstudio com 下载安装完毕后在扩展中安装中文插件Chinese Simplified Markdown自动生成编号和目录 安装插件Markdown All in One
  • 移动距离不超过k的几乎有序的数组进行排序(堆最优解 时间复杂度N*O(K))

    已知一个几乎有序的数组 把数组排好顺序的话 每个元素移动的距离一定不超过k 并且k相对于数组长度来说比较小 1 这道题如果我们不使用的k的条件 正常使用排序的算法 也是可以做的 只是复杂度过高 不是最优解 2 第一眼看到这个问题 感觉情况很
  • 2021-10-02PE文件学习

    欢迎大家一起来Hacking水友攻防实验室学习 渗透测试 代码审计 免杀逆向 实战分享 靶场靶机 求关注 PE文件学习 推荐工具 lord PE stud PE PE权威指南 了解格式 看雪 吾爱破解 EXE是如何组成的 如何逆向一个EXE
  • STM32 GPIO 封装过程

    基本数据类型的封装 define IO volatile lt Defines read write permissions exact width signed integer types typedef signed char int8
  • NSSCTF web 刷题记录2

    文章目录 前言 题目 广东强网杯 2021 团队组 love Pokemon NCTF 2018 Easy Audit 安洵杯 2019 easy web NCTF 2018 全球最大交友网站 prize p2 羊城杯 2020 easys
  • 华为OD机试真题-整理扑克牌【2023.Q1】

    题目内容 给定一组数字 表示扑克牌的牌面数字 忽略扑克牌的花色 请按如下规则对这一组扑克牌进行整理 步骤1 对扑克牌进行分组 形成组合牌 规则如下 当牌面数字相同张数大于等于4时 组合牌为 炸弹 3张相同牌面数字 2张相同牌面数字 且3张牌
  • dell服务器卡在启动界面_戴尔最新bios设置图解 当电脑出现开机画面按F2进入

    导读 提到戴尔 大家应该都不陌生 有朋友问戴尔电脑文档保存之后没了 当然了 还有朋友想问如何进入dell电脑bios设置 这到底是咋回事 其实戴尔 dell 服务器内存条呢 下面是小编精心为你们整理的戴尔最新bios设置图解 让大家少走弯路

随机推荐

  • 2018创业项目

    一 无人驾驶 1 苏州豪米波 毕欣 专注于毫米波雷达和多传感器融合 2 贾冰 31岁 博士 专注于无人驾驶中的自动化数据采集 自动化标注等 3 张文博 33岁 创业2年 垂直行业无人机 空中侦察兵 公安等 4 刘诗聪 27岁 创业1年 自然
  • python实战——JSON转CSV

    这里写自定义目录标题 目标 实现 目标 将json格式的文件转换为csv格式的文件 用python写一个转换器 依赖库 处理json文件需要json库 使用如下命令安装 pip install json 待转换的json文件名为input
  • 字库:cmap 表

    fontTools库来检测字体文件中是否包含某字符 如何判断一个汉字是否在TTF字体中有定义 字库 cmap 表 fontTools库来检测字体文件中是否包含某字符 https blog csdn net alxe made article
  • Servlet学习(七):Cookie

    一 Cookie的基本使用 1 概念 Cookie 客户端会话技术 将数据保存到客户端 以后每次请求都携带Cookie数据进行访问 2 Cookie的工作流程 服务端提供了两个Servlet 分别是ServletA和ServletB 浏览器
  • 涵盖入门到精通,自测 Vue 掌握程度

    文章目录 一 说说对spa单页面的理解 他的缺点是什么 二 v show和v if的区别 三 Class 与 Style 如何动态绑定 四 怎么理解Vue的单向数据流 五 computed 和 watch 的区别和应用的场景 6 直接给一个
  • 枚举的应用你知道多少?

    大家好 我是大成子 今天给大家讲一讲枚举的应用 前言 枚举类型enum是C 中基本的值类型数据类型 适当的用好它 有助于提高代码的简洁性和易读性 枚举语法定义格式为 enum 枚举名 枚举元素1 枚举元素2 应用 在正常的开发中 像人的性别
  • RT-Thread微秒延时?

    今天继续做之前的东西 使用了RT thread操作系统 程序中有AT24C02的相关操作AT24C02的操作的接口是IIC接口 所以又涉及到IIC 程序用的模拟的IIC IIC的时序挺严格的 有微秒的延时操作 由于模拟IIC程序中的延时操作
  • 计算1-100之间的所有的奇数和

    我的每篇都是干货 要求 计算1 100之间的所有的奇数和 1 3 5 7 99 有一个数据 从0变到100 循环 int 0 lt 100 从0 100 范围内 找到奇数 数 2 1 奇数 所有的奇数求和计算 需要变量 保存奇数的求和 实现
  • 想要输出JSONObject有序的操作方法

    1 由于 com alibaba fastjson JSONObject 默认是由hashMap组成的 所以内容存放的顺序并不是有序的 如果要实现有序的话需要使用LinkedHashMap的方式 在新建Json对象的时候要这样写 JSONO
  • 用java实现奇异值分解(SVD)

    首先奇异值分解 Singular Value Decomposition 以下简称SVD 描述如下 奇异值分解 Singular Value Decomposition 是线性代数中一种重要的矩阵分解 奇异值分解则是特征分解在任意矩阵上的推
  • 云原生基础设施实践:NebulaGraph 的 KubeBlocks 集成故事

    像是 NebulaGraph 这类基础设施上云 通用的方法一般是将线下物理机替换成云端的虚拟资源 依托各大云服务厂商实现 服务上云 但还有一种选择 就是依托云数据基础设施 将数据库产品变成为云生态的一环 不只是提供自身的数据云服务 还能同其
  • 自动文摘生成

    自动文摘技术概要 文本自动文摘 automatic summarization abstracting 是利用计算机自动实现文本分析 内容归纳和摘要自动生成的技术 在目前的研究中 已经有很多技术被用于解决文本的自动摘要生成 有的研究针对文档
  • JavaScript基础知识

    JavaScript调试 使用console log 可以向控制台输出信息 JavaScript打印信息语法 向页面输出信息 write后面要添加字符串 需要使用 标记字符串 也可以输出html的元素 document write h1 1
  • 决策树简单介绍

    一 决策树的介绍 决策树 decision tree 是一种基本的分类与回归方法 此处主要讨论分类的决策树 在分类问题中 表示基于特征对实例进行分类的过程 可以认为是if then的集合 也可以认为是定义在特征空间与类空间上的条件概率分布
  • C#实现AES-ECB加解密

    using System using System Text using System Security Cryptography namespace Common API Test Test Demo class AES ecb Encr
  • java连接mysql数据库(3)插入数据,详细

    连接数据库并向表中插入数据 代码 public class today public static void main String args String url jdbc mysql localhost 3306 my url是固定的
  • [Unity]取消键盘W与Input.GetAxis(“Horizontal“)的按键关联

    float fh 0 fv 0 fh Input GetAxis Horizontal fv Input GetAxis Vertical Edit ProjectSettings Input InputManager Axes Horiz
  • inittab详解

    文章转载地址 https blog csdn net kernel 32 article details 3860756 utm source blogxgwz1 linux System init init进程是系统中所有进程的父进程 i
  • Plaxis3D模型浏览器各选项概念及相互关系

    一 概念含义 二 控制与被控制关系 地层学控制土体 几何图形控制梁 板 界面 组控制梁 板 界面 梁控制本身 beam对应几何图形中的line 板控制本身 界面 界面 土体控制本身 控制示例 地层控制土体 几何模型控制梁 板 界面和土体 组
  • 关于shiro反序列化漏洞一次完整的攻击

    1 1 漏洞原理 Apache Shiro框架提供了记住密码的功能 RememberMe 用户登录成功后会生成经过加密并编码的cookie 在服务端对rememberMe的cookie值 先base64解码然后AES解密再反序列化 就导致了