Shiro RememberMe 1.2.4 反序列化漏洞复现
原理解释
Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理。
shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值–>Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。该漏洞对shiro<=1.2.4的版本有影响。
硬编码是将数据直接嵌入到程序或其他可执行对象的源代码中的软件开发实践。
硬编码密码是指在程序中采用硬编码方式处理密码。这种处理方式一方面不易于程序维护,在代码投入使用后,除非对软件进行修补,否则无法修改密码。另一方面会削弱系统安全性,硬编码密码意味着拥有代码权限的人都可以查看到密码,可以使用密码访问一些不具有权限的系统,更严重的是如果攻击者能够访问应用程序的字节码,利用一些反编译工具就能阅读到代码,可以轻易获得密码。
环境搭建
1.下载镜像
docker pull medicean/vulapps:s_shiro_1
2.运行在8091端口
docker run -d -p 8091:8080 medicean/vulapps:s_shiro_1
3.安装模块
pip3 install pycrypto
4.上传生成payload的脚本
命令行输入rz并回车,可打开上传页面,选择shiro_poc.py进行上传,注意需要进入/tmp/目录后再进行下载
5.安装ysoserial的jar文件
git clone https://github.com/frohoff/ysoserial.git
cd ysoserial/
mvn package -DskipTests
此处提示命令找不到,因此需要对 mvn进行安装
apt update
apt upgrade
apt install maven
mvn -version
注:安装mvn需要在jdk已经安装的前提下,kali默认有安装。
如下图所示则安装成功。

重新执行
mvn package -DskipTests
发现报错

上网查了之后发现原因如下,但是我也不是很懂他在说什么

所以重新开始安装java
安装java时因为kali有自带openjdk,所以安装时安装成功了,但是运行java -version的结果还是openjdk,运行javac -version显示无该命令,下载了新的kali虚拟机后安装Java还是不行,
于是就直接下载了ysoserial.jar然后上传到同一目录
复现过程
复现过程参考该篇文章
https://www.cnblogs.com/paperpen/p/11312671.html
最终复现成功。
Shiro RememberMe 1.2.4 反序列化漏洞复现的更多相关文章
- Shiro RememberMe 1.2.4 反序列化漏洞详细复现
0x00 前言 今天上班的时候收到了一个复测的任务,打开一看,shiro反序列化漏洞,What?这是个什么东西,经百度查找后才知道,原来是Java的开发框架,好吧,还是没听说过..由于初测报告上的过程 ...
- Apache Shiro RememberMe 1.2.4 反序列化漏洞
拉取镜像 docker pull medicean/vulapps:s_shiro_1 启动环境 docker run -d -p 80:8080 medicean/vulapps:s_shiro_1 ...
- Apache Shiro反序列化漏洞复现
Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...
- Shiro remeberMe反序列化漏洞复现(Shiro-550)
Apache Shiro是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能.Shiro框架直观.易用,同时也能提供健壮的安全性.在Apache Shiro编号为550的 issu ...
- WebLogic XMLDecoder反序列化漏洞复现
WebLogic XMLDecoder反序列化漏洞复现 参考链接: https://bbs.ichunqiu.com/thread-31171-1-1.html git clone https://g ...
- Jboss反序列化漏洞复现(CVE-2017-12149)
Jboss反序列化漏洞复现(CVE-2017-12149) 一.漏洞描述 该漏洞为Java反序列化错误类型,存在于jboss的HttpInvoker组件中的ReadOnlyAccessFilter过滤 ...
- jboss反序列化漏洞复现(CVE-2017-7504)
jboss反序列化漏洞复现(CVE-2017-7504) 一.漏洞描述 Jboss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HT ...
- php反序列化漏洞复现过程
PHP反序列化漏洞复现 测试代码 我们运行以上代码文件,来证明函数被调用: 应为没有创建对象,所以构造函数__construct()不会被调用,但是__wakeup()跟__destruct()函数都 ...
- php反序列化漏洞复现
超适合小白的php反序列化漏洞复现 写在前头的话 在OWASP TOP10中,反序列化已经榜上有名,但是究竟什么是反序列化,我觉得应该进下心来好好思考下.我觉得学习的时候,所有的问题都应该问3个问题: ...
随机推荐
- Struts的增删改查
1.导入相关的pom依赖(struts.自定义标签库的依赖) pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0&quo ...
- Centos 7+KVM(Windows Server 2008 r2 )
KVM虚拟机 Kernel-based Virtual Machine的简称,是一个开源的系统虚拟化模块,自Linux 2.6.20之后集成在Linux的各个主要发行版本中.它使用Linux自身的调度 ...
- 全网最新方法:Win10下如何安装和搭建appium自动化测试环境
为了方便大家,下面是本人安装和搭建appium所需要的软件,自取. 链接:https://pan.baidu.com/s/1wl5Xnos4BmnSZsBRd6B5YA#list/path=%2F ...
- 元昊讲django框架
一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有 ...
- Linux 下 make 的时候,老是一堆warning
用下面的方法只显示error : 1) export CFLAGS="-w" 2) ./configure 3) make
- LinkCutTree学习笔记
LinkCutTree 学习笔记 参考来源 https://www.zybuluo.com/xzyxzy/note/1027479 https://www.cnblogs.com/zhoushuyu/ ...
- [[: not found,Ubuntu修改默认sh为bash
写好的shell sh执行脚本报错[[: not found,改shell多麻烦,索性直接把电脑默认的dash改成使用bash 1.查看目前使用 Ubuntu版本默认sh都是使用的dash 执行 ls ...
- 手把手教你如何用Fiddler抓取手机数据包(iOS+Android)
本文主要教你如何通过 Fiddler 来抓取手机端的数据包,包括 iOS 和 Android 端的配置和抓取. 一.Fiddler下载安装 访问 Fiddler 官网:https://www.tele ...
- RedisHelper (C#)
<add key="RedisServers" value="172.20.2.90:9379,password=Aa+123456789" /> ...
- svn merge操作
使用SVN做Merge操作时,会包含6个选项,下面就这6个选项给出详细的说明: 1.Merge a range of revisions 此类型应用最为广泛,主要是把源分支中的修改合并到目标分支上来. ...