当前位置: 首页 > news >正文

Apache Shiro 漏洞复现

文章目录

  • Apache Shiro 漏洞复现
    • 1. Apache Shiro 1.2.4 反序列化漏洞
      • 1.1 漏洞描述
      • 1.2 漏洞原理
      • 1.3 漏洞复现
        • 1.3.1 环境启动
      • 1.4 漏洞利用
      • 1.5 修复方案

Apache Shiro 漏洞复现

链接地址:Vulhub - Docker-Compose file for vulnerability environment

1. Apache Shiro 1.2.4 反序列化漏洞

1.1 漏洞描述

说明内容
漏洞编号CVE-2016-4437
漏洞名称Apache Shiro 1.2.4 反序列化漏洞
漏洞评级高危
影响范围Apache Shiro 1.2.4
漏洞描述Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,触发Java反序列化漏洞,进而在目标机器上执行任意命令。
修复方案打补丁,上设备,升级组件

1.2 漏洞原理

Apache Shiro 1.2.4及以前版本中,Apache Shiro默认使用了CookieRememberMeManager,其处理cookie的流程是:得到rememberMe的cookie值 > Base64解码–>AES解密–>反序列化。然而AES的密钥是硬编码的,就导致了攻击者可以构造恶意数据造成反序列化的RCE漏洞。

1.3 漏洞复现

1.3.1 环境启动

image-20230908200140028

说明:这里我修改了docker-compose.yml配置文件的端口号。

服务启动后,访问http://your-ip:8090可使用admin:vulhub进行登录。

image-20230908205513086

登录成功

image-20230908200406396
使用bp进行抓包

image-20231010214005259

登录后的响应包,中的Set-Cookie字段,字段内容rememberMe=deleteMe,那么很可能Shiro框架,并且存在Shiro反序列化漏洞。

1.4 漏洞利用

利用Shiro工具进行链接

在URL中输入登录界面的路径然后点击密钥爆破,检测是否存在Shiro框架。

image-20230908203605728

查看利用链,测试哪一个CC链可以利用。

image-20230908203646713

然后输入命令执行即可

image-20230908203800371

1.5 修复方案

  1. 确定自己使用的shiro版本要高于1.2.4。

  2. 在代码中全局搜索 “setCipherKey(Base64.decode(” 关键字,或者"setCipherKey"方法,Base64.decode()中的字符串就是shiro的密钥,要确保该密钥的安全性,千万不要使用公开的密钥。

http://www.lryc.cn/news/190746.html

相关文章:

  • 炒现货白银的最佳时间
  • C# OpenVINO 人脸识别
  • ESP32-WROOM-32无法进入下载模式进行程序上传的问题
  • 尚硅谷Flink(一)
  • C++ 设计模式 —— 桥接模式
  • 微信怎么删除好友?非常简单,2个方法!
  • 小谈设计模式(25)—职责链模式
  • Python- JSON-RPC创建一个远程过程调用
  • Linux中scp命令复制文件
  • Interlay采用Moonbeam路由流动性,为波卡发展更多流动性
  • Jetson Orin NX 开发指南(9): Pixhawk 6X 飞控固件的烧写与 QGroundControl 参数配置
  • Redis(四)多级缓存
  • 网站安全防护
  • 腾讯云南京地域怎么样?南京服务器IP测速Ping值延迟
  • Harbor 简介
  • RuntimeError: “LayerNormKernelImpl“ not implemented for ‘Half‘解决方案
  • 《向量数据库指南》——向量数据库与 ANN 算法库的区别
  • JavaScript-es6-新版语法-export-import
  • [elasticsearch]使用postman来查询数据
  • 【小程序练习】文件操作案例
  • flask框架-[实现websocket]:将socketio处理函数部分集中管理,使用类的方式来管理,集中管理socketio处理函数
  • Vue的学习补充
  • vue移动端H5调起手机发送短信(兼容ios和android)
  • spring boot RabbitMq基础教程
  • springboot vue 部署至Rocky(Centos)并自启,本文部署是若依应用
  • Mysql之增删改查
  • 【考研数学】矩阵三大关系的梳理和讨论 | 等价、相似、合同
  • 在 Amazon SageMaker 上使用 ESMFold 语言模型加速蛋白质结构预测
  • node.js知识系列(4)-每天了解一点
  • can not remove .unionfs