Shiro 身份认证绕过漏洞 CVE-2022-32532
2024-09-05 23:15:48
前言
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的镜像环境
启动靶场后直接访问给的地址就行
复现过程
测试直接访问敏感地址访问被拒绝
我们抓一下get包,放在Repeater模块
使用%0a进行权限绕过
%0a是换行符
访问成功返回success
修复建议
建议尽快升级至Apache Shiro 1.9.1及以上版本
最新文章
- nodejs进阶(6)—连接MySQL数据库
- link与import的区别
- LeetCode:Ransom Note_383
- C结构体中数据的内存对齐问题
- OS X(EI Capitan)常用快捷键整理
- 大四实习准备1_java构造器_android ListView
- spring问题org.springframework.beans.factory.CannotLoadBeanClassException
- [Flask]学习Flask第三天笔记总结
- SQL Server 2012学习笔记 1 命令行安装
- 慎重使用MySQL auto_increment
- html的分类与特点
- C# 操作Word 中的OLE——插入、编辑、读取 OLE
- MHA(上)
- bzoj4445(半平面交)
- UVA 814 The Letter Carrier&#39;s Rounds
- [OC] Block的使用
- python-----python简介
- Python安装scrapy过程中出现“Failed building wheel for xxx”
- NET Core MVC中创建PDF
- 创建DLL动态链接库——模块定义法(def)