一、漏洞概述
6月29日,Apache 官方披露 Apache Shiro 权限绕过漏洞(CVE-2022-32532),当 Apache Shiro 中使用 RegexRequestMatcher 进行权限配置,且正则表达式中携带“.”时,未经授权的远程攻击者可通过构造恶意数据包绕过身份认证。
二、影响版本
- Apache Shiro < 1.9.1
三、漏洞原理
大白话,其实就是在shiro-core-1.9.0.jar中存在一个RegExPatternMatcher类,这个类的Pattern存在带.的正则表达式匹配,如果存在/n或/r字符时,就会判断错误。具体源码分析详见大佬文——https://zhuanlan.zhihu.com/p/538397930
四、漏洞复现环境
Kali Linux + Vulfocus
渗透机:Kali Linux
靶机:Vulfocus
五、实验步骤
1.开启镜像环境,这里还是图个省时间使用vulfocus了~
2.抓包且根据4ra1n师傅的分析构造网址,发现正常访问的话会被拒绝
3.根据java正则表达式的特点(新增Pattern.DOTALL模式后,正则表达式.就可以匹配任何字符),构造换行符进行漏洞利用绕过
六、修复方式
安装修补补丁:https://github.com/apache/shiro/commit/6bcb92e06fa588b9c7790dd01bc02135d58d3f5b
或https://shiro.apache.org/download.html