shiro漏洞复现

news2024/11/23 16:48:47

目录

  • shiro介绍
    • 框架介绍
    • 判断是否使用shiro框架
  • 环境搭建
  • CVE-2010-3863
    • 漏洞原理
    • 影响版本
    • 漏洞复现
  • CVE-2016-4437
    • 漏洞原理
    • 影响版本
    • 漏洞复现
  • CVE-2020-1957
    • 漏洞原理
    • 影响版本
    • 漏洞复现
  • shiro-721
    • 拉取环境
    • 漏洞原理
    • 漏洞复现

shiro介绍

框架介绍

Apache Shiro提供了认证、授权、加密和会话管理功能,将复杂的问题隐藏起
来,提供清晰直观的API使开发者可以很轻松地开发自己的程序安全代码。
Shiro将目标集中于Shiro开发团队所称的“四大安全基石”-认证
(Authentication)、授权(Authorization)、会话管理(Session
Management)和加密(Cryptography)

  • 认证(Authentication):用户身份识别。有时可看作为“登录(login)”,它
    是用户证明自己是谁的一个行为。
  • 授权(Authorization):访问控制过程,好比决定“认证(who)”可以访问
    “什么(what)”.
  • 会话管理(SessionManagement):管理用户的会话(sessions),甚至在
    没有WEB或EJB容器的环境中。管理用户与时间相关的状态。
  • 加密(Cryptography):使用加密算法保护数据更加安全,防止数据被偷
    窥。

判断是否使用shiro框架

cookie中添加rememberMe字段,返回包中发现cookie信息中存在rememberMe=deleteMe
在这里插入图片描述

环境搭建

使用docker搭建vulhub靶场
下载vulhub文件

git clone https://github.com/vulhub/vulhub.git

在这里插入图片描述
下载之后,有很多的组件、cms漏洞类型
cd 到shiro 文件夹
在这里插入图片描述
在这里插入图片描述
进入要开启的环境
在这里插入图片描述
对靶场进行编译

docker-compose build

运行漏洞环境

docker-compose up -d

查看当前运行环境

docker ps

在这里插入图片描述
可以看到开放的端口号
在服务器上搭建时,记得添加一下防火墙策略
访问靶场的8080端口,搭建成功
在这里插入图片描述

CVE-2010-3863

漏洞原理

在Apache Shiro 1.1.0以前的版本中,shiro 进行权限验证前未对url 做标准化处
理,攻击者可以构造/、//、/./、/…/ 等绕过权限验证。

影响版本

shiro < 1.1.0和JSecurity 0.9.x

漏洞复现

直接访问/admin时,会重定向到登录页面
访问/./admin
在这里插入图片描述
成功登录admin页面
在这里插入图片描述

CVE-2016-4437

漏洞原理

属于shiro550漏洞。

Apache Shiro 1.2.4及以前版本中,加密的用户信息序列化后存储在名为
remember-me的Cookie中。攻击者可以使用Shiro的默认密钥伪造用户Cookie,
触发Java反序列化漏洞,进而在目标机器上执行任意命令。
shiro默认使用CookieRememberMeManager,对rememberMe的cookie做了加密
处理,在CookieRememberMeManaer类中将cookie中rememberMe字段内容先后
进行序列化、AES加密、Base64编码操作。在识别身份的时候,需要对Cookie里
的rememberMe字段解密。根据加密的顺序可以推断出解密的顺序为获取cookiebase64解码-AES解密-反序列化。

影响版本

Apache Shiro <= 1.2.4

漏洞复现

在这里插入图片描述
工具:https://github.com/SummerSec/ShiroAttack2/releases
在这里插入图片描述
找到了key,再爆破利用链
在这里插入图片描述
执行命令,成功
在这里插入图片描述

CVE-2020-1957

漏洞原理

我们需要分析我们请求的URL在整个项目的传入传递过程。在使用了shiro的项目
中,是我们请求的URL(URL1),进过shiro权限检验(URL2),昀后到springboot项目
找到路由来处理(URL3)
漏洞的出现就在URL1,URL2和URL3 有可能不是同一个URL,这就导致我们能
绕过shiro的校验,直接访问后端需要首选的URL。本例中的漏洞就是因为这个原
因产生的。
Shiro框架通过拦截器功能来对用户访问权限进行控制,如anon, authc等拦截器。
anon为匿名拦截器,不需要登录即可访问;authc为登录拦截器,需要登录才可以
访问。

影响版本

Apache Shiro < 1.5.2

漏洞复现

点击login
在这里插入图片描述
访问/admin时会重定向
因为代码层面加上;就会识别成绕过 后面加个/也可以
URL改为/xxx/…;/admin/绕过了登录,直接访问成功!
在这里插入图片描述

shiro-721

拉取环境

文件里没有shiro-721,得自己下载一下
git clone https://github.com/3ndz/Shiro-721.git
cd Shiro-721/Docker
docker build -t shiro-721 .
docker run -p 8080:8080 -d shiro-721

漏洞原理

在用户进行登录的时候,Apache Shiro 提供 RemenberMe 功能,可以存储 cookie,期间使用的是AES-128-CBC进行加密,可以通过Padding Oracle加密生成的攻击代码来重新构造一个恶意的 rememberMe 字段,重新请求网站,进行反序列化攻击,最终导致任意代码的执行,攻击者无需知道 rememberMe 的加密密钥。

漏洞复现

在这里插入图片描述
在这里插入图片描述
直接使用工具
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2140926.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

关于手机号码数理的计算和推导,获得“平替”尾号

文章背景&#xff1a;我个人比较相信命运&#xff0c;对于手机号码的吉凶或是数理颇为在乎。最近&#xff0c;我沉浸于这方面的研究中&#xff0c;并发现许多手机号码的数理核心竟出奇地一致——关键在于后四位尾号&#xff0c;而前面的数字似乎并不占据主导位置。然而&#xf…

电气自动化入门01:电工基础

视频链接&#xff1a;1.1 电工知识&#xff1a;电工基础_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1PJ41117PW?p2&vd_sourceb5775c3a4ea16a5306db9c7c1c1486b5 1.电能和电力系统 2.电工常用物理量及其应用 2.1电阻&#xff1a; 2.2电流&#xff1a; 2.3电压&…

队列-------

队列总览 队列的定义 队列的基本操作 队列回顾 顺序队列总览 队列的顺序实现 队列的初始化 入队操作&#xff0c;rear&#xff0c;后面的&#xff0c;下一个队列元素要插入的位置。front&#xff0c;前面的&#xff0c;当前队列的第一个元素。 循环队列入队操作 循环…

建设世界一流财务管理体系【数字化顶层设计】【持续更新】

财务管理是企业管理的中心环节&#xff0c;是企业实现基业长青的重要基础和保障。近年来&#xff0c;中央企业认真贯彻落实党中央、国务院决策部署&#xff0c;高度重视财务管理工作&#xff0c;持续优化管理手段&#xff0c;不断创新管理模式&#xff0c;积极应用先进管理工具…

photozoom pro 9如何激活解锁 2024最新激活解锁代码

您好,现在程程来为大家解答以上的问题。photozoom pro 9解锁代码&#xff0c;photozoom pro 9解锁代码相信很多小伙伴还不知道,现在让我们一起来看... 您好,现在程程来为大家解答以上的问题。photozoom pro 9解锁代码&#xff0c;photozoom pro 9解锁代码相信很多小伙伴还不知道…

新160个crackme - 057-bbbs-crackme04

运行分析 因软件版本老旧&#xff0c;需使用windows XP虚拟机运行有个SystemID&#xff0c;值为12345678需破解User ID和Password PE分析 yC壳&#xff0c;32位 OD手动脱壳 使用windows XP虚拟机&#xff0c;将程序拖入OD按一下F8&#xff0c;ESP变红&#xff0c;根据ESP定律设…

【网络原理】Tcp 常用提升效率机制——滑动窗口,快速重传,流量控制, 拥塞控制, 建议收藏 !!!

本篇会加入个人的所谓鱼式疯言 ❤️❤️❤️鱼式疯言:❤️❤️❤️此疯言非彼疯言 而是理解过并总结出来通俗易懂的大白话, 小编会尽可能的在每个概念后插入鱼式疯言,帮助大家理解的. &#x1f92d;&#x1f92d;&#x1f92d;可能说的不是那么严谨.但小编初心是能让更多人…

2024永久激活版 Studio One 6 Pro for mac 音乐创作编辑软件 完美兼容

Studio One 6是一款功能强大的音乐制作软件&#xff0c;由PreSonus公司开发。它提供了全面的音频录制、编辑、混音和母带处理工具&#xff0c;适用于音乐制作人、音频工程师和创作人员。 Studio One 6拥有直观的用户界面&#xff0c;使用户能够快速而流畅地进行音乐创作。它采…

MOE论文汇总

最近对MOE感兴趣&#xff0c;现汇总MOE无监督相关的文章&#xff0c;文章均为略读 文章 Self-Supervised Mixture-of-Experts by Uncertainty estimation 发表于:AAAI19 流程: 总体来说&#xff0c;当环境给出反馈&#xff0c;通过门控网络激活相应的专家去交涉。但是&…

LabVIEW减速机加载控制系统

为了保障减速机的产品质量&#xff0c;开发了一套基于LabVIEW的减速机加载控制系统。该系统利用先进的传感技术与自动化控制理念&#xff0c;实现了减速机性能的全面测试与分析&#xff0c;有效提升了生产线的自动化水平与检测效率。 项目背景 随着工业自动化水平的不断提高&a…

面试官问:请描述一次你成功解决问题的经历?

面试官为什么要这么问&#xff1f; 面试官问你描述一次成功解决问题的经历&#xff0c;主要是为了评估你的几个关键方面&#xff1a; 问题解决能力&#xff1a;了解你在面对挑战时的思维方式和应对策略。 决策能力&#xff1a;考察你在压力下做出明智决定的能力。 沟通技巧&am…

Linux实操笔记2 Ubuntu安装Nginx的不同方法

今天来了解Ubuntu或者说Linux系统安装Nginx的几种办法。包括从Ubuntu的库安装到官方源码编译安装。 一、Nginx是什么&#xff1f; 以下是来自Nginx中文文档的内容。 Nginx 是一个高性能的 Web 和反向代理服务器, 它具有有很多非常优越的特性: 作为 Web 服务器&#xff1a;相比…

Matlab生成prbs7的代码

最近的一个客户需求&#xff0c;客户想看一下我们的产品产生的prbs并进行一些分析。 我在“”豆包“”这里找到了一个pbs的matlab的生成程序&#xff0c;效果就是连续生成prbs7&#xff0c;然后每次都在原来的基础之上添加。 生成的matlab的PRBS7代码修改如下&#xff1a; %…

深入了解字符函数和字符串函数

前言&#xff1a;今天给大家深入理解一下字符函数 和 字符串函数。通过使用 和 模拟实现 带大家加深理解&#xff0c;让大家灵活使用。 字符函数 在C语言中&#xff0c;有一系列函数是专门做字符分类的&#xff0c;也就是一个字符属于什么类型的字符。 这些函数的使用都要包含…

Redis embstr 编码

embstr 编码 是 Redis 中一种优化存储小型字符串的编码方式。它是 Redis 内部存储字符串的多种方式之一&#xff0c;特别适用于存储长度不超过 44 字节的小字符串。

java中Class文件的文件格式

无关性的基石 计算机底层只能识别二进制&#xff0c;由CPU直接处理二进制&#xff0c;在底层上面是操作系统&#xff0c;在操作系统上面就是虚拟机&#xff0c;java有一个口号&#xff0c;“一次编写&#xff0c;到处运行”这个不太可能在操作系统层面上实现&#xff0c;不同的…

SQL Server开启网络访问

目前工作中很少用到SQL Server了&#xff0c;最近需要测试几个表&#xff0c;需要搭建一个SQL Server数据库服务&#xff0c;这里做个总结吧。 安装这里就不做详细介绍了&#xff0c;本文只介绍如何开启SQL Server网络访问。 1、云服务器安全组设置 如果是搭建在云服务器上&a…

时序最佳入门代码|基于pytorch的LSTM天气预测及数据分析

前言 在本篇文章&#xff0c;我们基于pytorch框架&#xff0c;构造了LSTM模型进行天气预测&#xff0c;并对数据进行了可视化分析&#xff0c;非常值得入门学习。该数据集提供了2013年1月1日至2017年4月24日在印度德里市的数据。其中包含的4个参数是平均温度&#xff08;meant…

【数字集成电路与系统设计】Chisel/Scala简介与Verilog介绍

目录 一、芯片前端设计开发背景知识 二、Verilog介绍 2.1 硬件设计一些重要概念 2.2 功能性仿真 2.3 简单的Verilog代码例子&#xff08;4-bit的加法器&#xff09; 三、Chisel简介 3.1 Chisel基本概念 3.2 Chisel代码展示 3.3 Chisel转成Verilog代码 四、Scala入…

数据清洗-缺失值填充-对XGBoost参数优化填充

目录 一、安装所需的python包二、采用XGboost算法进行缺失值填充2.1可直接运行代码2.2以某个缺失值数据进行实战2.2.1 代码运行过程截屏&#xff1a;2.2.2 填充后的数据截屏&#xff1a; 三、网格搜索&#xff08;Grid Search&#xff09;对 XGBoost 模型的超参数进行优化原理介…