Shiro 身份认证绕过漏洞 CVE-2022-32532

简介: Apache Shiro 是一个强大且易用的 Java 安全框架,通过它可以执行身份验证、授权、密码和会话管理。使用 Shiro 的易用 API,您可以快速、轻松地保护任何应用程序 —— 从最小的移动应用程序到最大的 WEB 和企业应用程序。

前言

Apache Shiro 是一个强大且易用的 Java 安全框架,通过它可以执行身份验证、授权、密码和会话管理。使用 Shiro 的易用 API,您可以快速、轻松地保护任何应用程序 —— 从最小的移动应用程序到最大的 WEB 和企业应用程序。

2022年6月29日,Apache官方披露Apache Shiro权限绕过漏洞(CVE-2022-32532),当Apache Shiro中使用RegexRequestMatcher进行权限配置,且正则表达式中携带"."时,未经授权的远程攻击者可通过构造恶意数据包绕过身份认证,导致配置的权限验证失效。

影响版本

Apache Shiro < 1.9.1

漏洞原理

根据java正则表达式的特点,在正则表达式中元字符.是匹配除换行符之外的任何单个字符。
新增Pattern.DOTALL模式后,正则表达式.就可以匹配任何字符包括换行符。
在shiro-core-1.9.0.jar中存在一个RegExPatternMatcher类,提供请求路径匹配功能及拦截器参数解析的功能。这个类的Pattern存在带.的正则表达式匹配,如果存在/n或/r字符时,就会判断错误。

环境搭建

直接使用vulfocus的镜像环境

image-20230222160039366

启动靶场后直接访问给的地址就行

image-20230222160444747

image-20230222160450931

复现过程

测试直接访问敏感地址访问被拒绝

image-20230222160528823

我们抓一下get包,放在Repeater模块

使用%0a进行权限绕过

%0a是换行符

image-20230222161704254

访问成功返回success

修复建议

建议尽快升级至Apache Shiro 1.9.1及以上版本

相关文章
|
21小时前
|
安全 Shell PHP
一篇文章讲明白Kali学习笔记30:身份认证与命令执行漏洞
一篇文章讲明白Kali学习笔记30:身份认证与命令执行漏洞
|
安全 数据安全/隐私保护
靶机实战-密码重置与身份认证失效漏洞
靶机实战-密码重置与身份认证失效漏洞
靶机实战-密码重置与身份认证失效漏洞
|
安全 前端开发 中间件
【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)(下)
【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)(下)
357 0
【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)(下)
|
JSON 安全 Oracle
【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)(上)
【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)(上)
408 0
【bp靶场portswigger-服务端2】身份认证漏洞-16个实验(全)(上)
|
SQL 供应链 安全
【漏洞分析】Apache ShardingSphere-Proxy <5.3.0 身份认证绕过
【漏洞分析】Apache ShardingSphere-Proxy <5.3.0 身份认证绕过
【漏洞分析】Apache ShardingSphere-Proxy <5.3.0 身份认证绕过
|
缓存 安全 Apache
2021年你还不会Shiro?----3.分析身份认证源码实现自定义Realm
我们已经知道无论我们是认证还是授权,数据的获取都是来源于Realm,Realm就相当于我们的datasource,在上一篇中我们使用的是用IniRealm来加载我们的配置文件shiro.ini,同时我们也说了ini只是临时解决方案,在实际的开发中是不可能把用户信息和权限信息放在ini文件中的,都是来源于数据库,那么系统提供的IniRealm就不能满足我们的需要了,我们就需要自定义Realm来实现真正的场景,事实上ini文件也只是apache为我们提供学习使用的策略,下面我们就来看下怎么自己定义一个Realm。
91 0
2021年你还不会Shiro?----3.分析身份认证源码实现自定义Realm
|
存储 缓存 安全
2021年你还不会Shiro?----2.Shiro实现登录功能(身份认证实践)
上一篇介绍了Shiro的架构,我们可以发现Shiro核心的东西并不多,我们花个几分钟就可以把Shiro的机构记清楚,其中Security Manager就是Shiro的核心,他包含了身份认证器Authenticator、授权器Authorizer、Session管理Session Manager、缓存管理Cache Manager。这一篇我们就介绍下Shiro的身份认证的过程,也就是我们说的用户登录。
116 0
2021年你还不会Shiro?----2.Shiro实现登录功能(身份认证实践)
|
SQL 数据库 数据安全/隐私保护
Shiro框架学习笔记(二)基于内置ini文件的身份认证
Shiro框架学习笔记(二)基于内置ini文件的身份认证
Shiro框架学习笔记(二)基于内置ini文件的身份认证
|
存储 缓存 安全
Apache Shiro身份认证过程详解
Apache Shiro身份认证过程详解
216 0
Apache Shiro身份认证过程详解
|
数据库 数据安全/隐私保护
Shiro身份认证之principals和credentials
Shiro身份认证之principals和credentials
306 0