shiro反序列化漏洞

反序列化简介

什么是反序列化?

首先了解序列化和反序列化地概念
序列化:将对象转换成字节序列的过程。
反序列化:将字节序列转换成对象的过程。

漏洞原理

Apache shiro框架提供rememberme的功能,用户登录成功后,会生成一个cookie,该cookie的值是经过相关信息序列化,然后AES加密,Base64编码处理成的。在服务器接收到cookie之后
1.先检索rememberme cookie的值
2.Base64解码
3.AES解码
4.进行反序列化
此时AES的密钥是硬编码,导致代码执行漏洞。

检测方法

1.一般登录的界面会有rememberme功能,随意输入登录名和密码进行登录;
2.登录的时候用burp抓包,返回的响应包会带有rememberMe=deleteMe的字样,说明有shiro反序列化漏洞
3.如果没有的话,在请求包里的cookie中添加rememberMe=deleteMe,查看相应包里面set-cookie是否有相同字样,有则表示有该漏洞。

漏洞利用

1.安装docker

2.进入目录

cd shiro/CVE-2016-4437

3.启动漏洞环境

docker-compose up -d

4.访问web页面

IP:8080

在这里插入图片描述5.安装反序列化工具shiro_tool.jar
这个工具是一个集成化工具
使用方法为在此文件目录下面cmd

java -jar shiro_tool.jar http://192.168.86.128:8080

在这里插入图片描述

修复方案

升级shiro版本至1.2.5以上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值