Shiro反序列化漏洞检测及修复(工具分享)
Shiro反序列化漏洞检测及修复(工具分享)
- 写在前面
- 反序列化漏洞是如何产生的
- 反序列化漏洞解决思路
- 测试工具下载地址
- 测试过程
写在前面
这篇博文主要解决于一些朋友为了修复反序列化漏洞,根据某些帖子的内容升级了shiro版本,或者采用了随机生成key的方式后,不知道是否管用。特地写下一篇记录,分享一个检测工具。
我在之前项目中碰到了这个问题,由于shiro使用的版本是1.2.4,存在反序列化漏洞,我们采取的办法是手动升级到了1.2.6版本(根据@CityHost提示,需要升级到1.5.x才能彻底解决该问题),但苦于无法验证是否解决了问题,后来发现了一款测试工具,ShiroExploit。
在此特别感谢其作者 feihong飞鸿。
反序列化漏洞是如何产生的
shiro版本<=1.2.4时,其参数remeberMe存在硬编码,它对于cookie的处理流程是,首先获取rememberMe的cookie值,然后进行Base64解码,再进行AES解密,最后反序列化。但在这个过程中,其AES的Key硬编码,导致反序列化漏洞的产生。(参考http://www.secwk.com/2019/09/18/2818/)
反序列化漏洞解决思路
从上面我们了解到,反序列化漏洞主要是由于硬编码引起的,那么只要解决硬编码,就解决了该漏洞。解决硬编码主要有两种方式:
- 自行实现key值
- 升级到1.2.5版本或以上
那么在我的项目中,选择的是升级版本到1.2.6
测试工具下载地址
https://github.com/feihong-cs/ShiroExploit_GUI/releases
测试过程
1. 首先打开下载到的ShiroExploit,可以看到这样的界面。选择shiro550,在中间的白框,填入项目访问路径,点击下一步
2. 来到当前页面,选择使用回显进行漏洞检测,点击下一步
3. shiro1.2.4版本
可以看到,Trying Key,然后Find Valid key。相信从字面意思也看出来了,找到了这个硬编码的key,此时代表反序列化漏洞存在
4. 接下来我们看一下升级后的shiro1.2.6
很清晰看到与1.2.4的对比,Can not find a valid key,然后一直在Trying,此时漏洞已经不存在了
最后希望本篇文章能够帮助到大家,
再次郑重感谢工具作者飞鸿!!!
Shiro反序列化漏洞检测及修复(工具分享)相关推荐
- 4加密问题漏洞修复_Apache Shiro 反序列化漏洞实战
Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.2016年,网络中曝光1.2.4以前的版本存在反序列化漏洞.尽管该漏洞已经曝光几年,但是在实战中仍然比较实用.花了点 ...
- shiro反序列化漏洞学习(工具+原理+复现)
工具准备 1.java8 C:\Program Files\Java 2.冰蝎 C:\Users\ali\Desktop\tools\Behinder_v4.0.6 3.shiro反序列化 图形化工具 ...
- shiro反序列化漏洞修复
文章目录 shiro反序列化漏洞修复 前言 解决方案 shiro反序列化漏洞修复 前言 最近项目在进行安全漏洞扫描的时候,出现一个shiro的反序列化漏洞的问题:目标IP站点存在Apache shir ...
- 实战渗透-Shiro反序列化漏洞实例
0x01.前言 这是一次授权的渗透测试,技术含量不高,但我始终相信,每一次的积累,都是为了成就更好的自己,所以过程简洁,记录下每个知识点.对渗透而言,我更喜欢实战的体验感,那种喜悦和知识的获取感,永远 ...
- shiro反序列化漏洞的原理和复现
一.shiro简介 Shiro是一个强大的简单易用的Java安全框架,主要用来更便捷的认证,授权,加密,会话管理.Shiro首要的和最重要的目标就是容易使用并且容易理解. 二.shiro的身份认证工作 ...
- Shiro反序列化漏洞利用笔记
Shiro反序列化漏洞利用笔记 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.目前在Java web应用安全框架中,最热门的产品有Spring Sec ...
- 【漏洞复现】Apache Shiro 反序列化漏洞
Apache Shiro 反序列化漏洞 一.简介 二.环境 三.漏洞原理 四.AES秘钥 1.判断AES秘钥 五.Shiro rememberMe反序列化漏洞(Shiro-550) 1.版本1.4.2 ...
- pcie16x能插1x的卡嘛?_小白把这7个修复工具分享给你:不仅能修复U盘,SD卡、TF卡也能修复!...
此前分享给大家的U盘量产工具帮助了许多朋友修复了本来不能使用的U盘,但是仍然有不少朋友反映"主控型号无法检测""没有对应的量产工具可以下载""量产后仍 ...
- Shiro反序列化漏洞利用详解(Shiro-550+Shiro-721)
Shiro反序列化漏洞利用详解(Shiro-550+Shiro-721) Shiro简介 Apache Shiro 是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能,Shiro ...
- vulhub复现之shiro反序列化漏洞复现
目录 什么是shiro? 什么是安全框架? 反序列化与序列化 shiro反序列化漏洞 怎么判断是否存在反序列化漏洞? 什么是shiro? shiro是功能强大且容易使用的java安全框架.shiro可 ...
最新文章
- 可以获取python整数类型帮助的是什么-Python 的数值类型(整数、长整数、浮点数和复数)...
- Centos7使用yum安装MySQL5.6的正确姿势
- WSS 扩展文件夹的属性--如何给文件夹添加扩展字段
- DrawerLayout侧滑
- mysql居左查询abcd_MySql速查手册
- 字符串:3.KMP算法(快速模式匹配算法)详解
- php数组超索引,php数组多维索引
- 时间复杂度与空间复杂度小结
- 2.6 使用for循环遍历文件 2.7 使用while循环遍历文件 2.8 统计系统剩余的内存 2.9 数据类型转换计算(计算mac地址) 3.0 数据类型转换(列表与字典相互转换)...
- linux otl oracle数据库连接例子
- 线切割常用专用编程软件下载
- 用Visual Studio调试asp程序
- 【硬件】详解电流采样电路
- R语言学习之深圳市空气质量分析
- 硬件设计23之三极管开关原理与场效应管开关原理
- Selenium学习_常用场景代码示例
- 程序员漫画集连载[1]
- 《Python计算机视觉编程》一书中关于增强现实茶壶显示的程序
- win10安装mujoco
- 在Docker中使用Oracle 18c(12.2.0.2)