【漏洞复现】Apache Shiro-550反序列化漏洞复现

本文详细介绍了Apache Shiro框架中的反序列化漏洞,包括漏洞产生的原因、影响版本、复现步骤及利用方法,并提供了修复建议。

在这里插入图片描述

声明:文章所提供的内容和工具仅供于个人学习和研究,严禁传播者利用本文章的相关内容进行非法测试。由于传播、利用此文章所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。

1、Apache Shiro介绍

Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro易于理解的API,开发者可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序。

2、漏洞介绍

在Shiro <=1.2.4中,反序列化过程中所用到的AES加密的key是硬编码在源码中,当用户勾选RememberMe并登录成功,Shiro会将用户的cookie值序列化,AES加密,接着base64编码后存储在cookie的rememberMe字段中,服务端收到登录请求后,会对rememberMe的cookie值进行base64解码,接着进行AES解密,然后反序列化。由于AES加密是对称式加密(key既能加密数据也能解密数据),所以当攻击者知道了AES key后,就能够构造恶意的rememberMe cookie值从而触发反序列化漏洞。
在这里插入图片描述

3、影响版本

Apache Shiro <= 1.2.4

4、 漏洞复现

4.1 环境搭建
使用docker搭建shiro靶机,命令如下:

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

搭建靶机:
在这里插入图片描述

访问靶机:
在这里插入图片描述
访问正常,靶机搭建成功,靶机IP:10.57.201.77

4.2 工具准备

  • shiro_tool.jar漏洞验证工具
  • ysoserial工具下载、mvn打包
  • shiro.py生成rememberMe的脚本

shiro_tool.jar下载:
https://github.com/wyzxxz/shiro_rce_tool
maven下载:
http://maven.apache.org/download.cgi
maven配置及环境变量参考:
https://zhuanlan.zhihu.com/p/48831465
下载ysoserial工具并打包:
(打包完的ysoser

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值