前言
结合自身经历,在使用正则表达式去匹配流量特征时,由于正则表达式中元字符“.”不匹配换行符(\n、\r)导致一直提取不上所需的流量。而如今,之前踩过的坑却出现在了Apache
Shiro框架之中…
漏洞描述
6月29日,Apache 官方披露 Apache Shiro 权限绕过漏洞(CVE-2022-32532),当 Apache Shiro 中使用
RegexRequestMatcher 进行权限配置,且正则表达式中携带“.”时,未经授权的远程攻击者可通过构造恶意数据包绕过身份认证。
相关介绍
Apache Shiro 是一个功能强大且易于使用的 Java
安全框架,它可以执行身份验证、授权、加密和会话管理,可以用于保护任何应用程序——从命令行应用程序、移动应用程序到最大的 web 和企业应用程序。
利用范围
Apache Shiro < 1.9.1
漏洞分析
环境搭建
这里使用此漏洞提交者4ra1n 师傅的漏洞demo(https://github.com/4ra1n/CVE-2022-32532)进行复现分析。
漏洞原理
在漏洞分析之前,先了解一下相关漏洞产生原理。
在正则表达式中元字符.
是匹配除换行符