CVE-2022-22978 Spring-security 认证绕过漏洞复现

0x01 声明:

仅供学习参考使用,请勿用作违法用途,否则后果自负。

0x02 简介:

Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。

0x03 漏洞概述:

5月16日,VMware发布安全公告,修复了Spring Security中的一个认证绕过漏洞(CVE-2022-22978),该漏洞的CVSSv3评分为8.2。

在Spring Security 版本5.5.7之前、5.6.4 之前以及不受支持的旧版本中,使用正则表达式中包含". "的RegexRequestMatcher的应用程序容易导致绕过,可利用此漏洞在未授权的情况下绕过身份认证,导致配置的权限验证失效。

0x04 影响版本:

Spring Security 5.5.x < 5.5.7

Spring Security 5.6.x < 5.6.4

以及其它不受支持的旧版本。

0x05 环境搭建:

Vulfocus环境搭建:

漏洞环境搭建:

在Vulfocus环境后台执行:

docker pull s0cke3t/cve-2022-22978:latest

打开页面:

0x06 漏洞复现:

简单来说此次漏洞产生的原因是由于正则发生了问题,可以通过在 URL 中加入换行符( `r` 或 `n` )来绕过。( 的url编码为%0d, 的url编码为%0a)

当不做payload拼接时:

url拼接:认证绕过:

0x07 流量分析:

0x08 修复建议:

目前此漏洞已经修复,建议受影响用户升级更新到以下修复版本:

下载链接:

https://github.com/spring-projects/spring-security/tags

经验分享 程序员 微信小程序 职场和发展