36-2 shiro越权 - shiro越权介绍

一、Apache Shiro 简介

        Apache Shiro 是一个强大且易用的 Java 安全框架,负责执行身份验证、授权、密码和会话管理。无论是最小的移动应用程序还是最大的网络和企业应用程序,都可以通过使用 Shiro 的 API 快速、轻松地实现安全功能。

二、Shiro权限绕过原因

Apache Shiro 是 Java 的安全管理框架,可与 Spring 框架一起使用。它通过拦截器来控制和拦截用户对资源的访问。常见的拦截器包括:

  1. anon:匿名拦截器,用于允许未登录用户访问静态资源或移动端接口。
  2. authc:登录拦截器,要求用户登录认证后才能访问的资源。

三、Shiro权限绕过的限制条件:

  • 网站同时使用 Shiro 和 Spring 框架。
  • Shiro 版本必须满足特定的要求。

四、CVE-2016-6802

CVE-2016-6802是一个影响shiro安全框架的安全漏洞,特别是在shiro版本小于1.5.0的情况下。这个漏洞涉及shiro与spring的URI中末尾的斜杠(/)导致的权限绕过问题

问题的关键在于shiro中的URL路径匹配机制。在shiro中,/*通配符可以匹配零个或多个字符串,而/-只能匹配到路径的最后一个部分。

具体来说,考虑这样的情况:

  1. /admin - 由于/*可以匹配零个或多个字符串,可以匹配到

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

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

相关文章

java的深入探究JVM之内存结构

前言 Java作为一种平台无关性的语言,其主要依靠于Java虚拟机——JVM,我们写好的代码会被编译成class文件,再由JVM进行加载、解析、执行,而JVM有统一的规范,所以我们不需要像C那样需要程序员自己关注平台,大…

最新AI创作系统ChatGPT网站源码AI绘画,GPTs,AI换脸支持,GPT联网提问、DALL-E3文生图

一、前言 SparkAi创作系统是基于ChatGPT进行开发的Ai智能问答系统和Midjourney绘画系统,支持OpenAI-GPT全模型国内AI全模型。本期针对源码系统整体测试下来非常完美,那么如何搭建部署AI创作ChatGPT?小编这里写一个详细图文教程吧。已支持GPT…

【RabbitMQ】RabbitMQ基础认识

文章目录 前言初识MQSpringAMQP如何首发消息?消费者交换机Fanout:广播Direct交换机Topic交换机声明队列和交换机 总结 前言 微服务一旦拆分,必然涉及到服务之间的相互调用,目前我们服务之间调用采用的都是基于OpenFeign的调用。这…

JavaSE图书管理系统

JavaSE图书管理系统 思路一.Main方法二.User包1.User类2.NormaUser类3.AdminUser类三.book包1.BookList类2.Book类四.operation包1.IOPeration接口2.AddOperation类新增图书3.BorrowOperation类借阅图书4.DelOperation类删除图书5.FindOperation类查找图书6.ReturnOperation类归…

总结|性能优化思路及常用工具及手段

性能优化是降低成本的手段之一,每年大促前业务平台都会组织核心链路上的应用做性能优化,一方面提升系统性能,另外一方面对腐化的代码进行清理。现结合业务平台性能优化的经验,探讨一下性能优化的思路及常用工具及手段。性能优化本…

jenkins(docker)安装及应用

jenkins Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具,起源于Hudson(Hudson是商用的),主要用于持续、自动的构建/测试软件项目、监控外部任务的运行(这个比较抽象,暂且写上,不做解…

稀碎从零算法笔记Day50-LeetCode:寻找峰值

LC50天成就了 题型:数组、滑动窗口、二分 链接:162. 寻找峰值 - 力扣(LeetCode) 来源:LeetCode 题目描述 峰值元素是指其值严格大于左右相邻值的元素。 给你一个整数数组 nums,找到峰值元素并返回其索…

STM32移植嵌入式开源按键框架

目录 STM32移植嵌入式开源按键框架 MultiButton简介 multi_button.c文件 multi_button.h文件 按键事件 案例使用方法 学习剖析 STM32移植嵌入式开源按键框架 今天移植了一款嵌入式按键框架工程MultiButton,MultiButton是一个小巧简单易用的事件驱动型按键驱动…

Qt 3 QVariant类的使用和实例

QVariant, 类本质为 C联合(Union)数据类型,它可以保存很多Qt 类型的值,包括 QBrush、QColor、QString 等等。也能够存放Qt的容器类型的值。QVariant::StringList 是 Qt定义的一个 QVariant::type 枚举类型的变量,其他常用的枚举类型变量如下表…

【Qt】:对话框(二)

对话框 一.消息对话框(QMessageBox)1.自己构建2.使用静态函数构建 二.颜色对话框(QDialog)三.文件对话框(QFileDialog)四.字体对话框(QFontDialog)五.输入对话框(QInputD…

沐风老师3DMAX物品摆放插件ObjectPlacer安装和使用方法详解

3DMAX物品摆放插件ObjectPlacer安装和使用教程 3DMAX物品摆放插件ObjectPlacer,一键在曲面上摆放对象,如摆放家具物品、种植花草树木、布设电线杆交通标志等。它的功能是将对象与几何体对象(网格、多边形、面片或NURBS)的面法线对…

中电金信:夯实云原生时代的系统韧性建设——中电金信混沌工程金融业实践

IT系统建设在经历过单机、集中、分布式的演变历程后,系统运维演练、故障模拟测试的复杂度也不断提高。在复杂的分布式系统中,基础设施、应用平台都可能产生不可预知的故障,在不能确知故障根源的情况下,我们无法阻止故障的发生。更…

3D可视化技术:研发基地的科技新篇章

在科技日新月异的今天,我们生活在一个充满无限可能性的时代。而在这个时代中,3D可视化技术正以其独特的魅力,引领着科技领域的新一轮变革。 3D可视化技术通过三维图像的方式,将现实世界或虚拟世界中的物体、场景等以立体、逼真的形…

Mockito单元测试

文章目录 Mockito单元测试 为什么要使用Mock?导入依赖import导入包使用Mock模拟测试某个类中的某个方法是否可以成功执行使用Mock模拟某个类的方法,自己给这个方法返回我们指定的值使用Mock模拟某个方法调用后会抛出指定的异常使用Mock模拟测试某个类中的某个方法(…

04—常用方法和正则表达式

一、字符串 1.length 属性返回字符串的长度(字符数)。 2.在字符串中查找字符串 indexOf() 字符串使用 indexOf() 来定位字符串中某一个指定的字符首次出现的位置 如果没找到对应的字符函数返回-1 lastIndexOf() 方法在字符串末尾开始查找字符串出现的位置。 3.replace() 方…

网络字节序

什么是网络字节序 网络字节序是网络传输的过程中所采用的字节序,那么网络传输的过程中一般都采用什么字节序呢? 答案是大端字节序。 字节序分为大端和小端,他们代表多字节数值在内存中的存储方式。下面咱们讲解一下什么是大端,什么是小端? 大端字节序:数值的最高位字…

Linux安装docker(含Centos系统和Ubuntu系统)

一、Centos系统 1. 卸载旧版本依赖 sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine 2. 设置仓库 安装所需的软件包。yum-utils 提供了 yum-config-manager &…

实时传输,弹性优先——物联网通讯打造数据上传新标杆

随着信息技术的飞速发展,物联网技术已经成为连接物理世界和数字世界的桥梁。在物联网领域,数据上传的速度、稳定性和灵活性是评价通讯技术优劣的重要指标。近年来,物联网通讯在实时传输、弹性优先方面取得了显著进展,为数据上传树…

设计模式:时序图

设计模式:时序图 设计模式:时序图时序图元素(Sequence Diagram Elements)角色(Actor)对象(Object)生命线(Lifeline)控制焦点(Focus of Control&am…

Spring Boot 统一功能处理(三)

本篇主要介绍Spring Boot的统一异常处理。 目录 一、统一异常处理的使用 二、测试统一异常处理效果 三、浅析原理 ControllerAdvice简析 统一处理异常简析 一、统一异常处理的使用 在前面介绍统一数据返回时,我们在程序发生异常时会把整个报错信息都封装在da…