技术社区
安全培训
技术社群
积分商城
先知平台
漏洞库
历史记录
清空历史记录
相关的动态
相关的文章
相关的用户
相关的圈子
相关的话题
注册
登录
springSecurity框架在 WebFlux 下的权限饶过
真爱和自由
WEB安全
140浏览 · 2025-03-28 05:21
返回文档
springSecurity框架在 WebFlux 下的权限饶过
springSecurity框架在 WebFlux 下的权限饶过
前言
前台的绕过往往是最有价值的,而在 spring 中的前台绕过往往都是路由解析差异造成的,下面分析分析基于 springSecurity 造成的权限绕过,感觉利用解析差异绕过也是非常巧妙的
环境搭建
这里环境搭建很简单,只需要选择漏洞版本
具体的搭建可以参考
https://www.dontpanicblog.co.uk/2023/12/09/cve-2023-34034-spring-security-authorization-bypass/
首先是我们的路由配置,在 WebFlux 中使用 springSecurity 来鉴权
admin 路由如下
普通的用户路由
漏洞复现
我们访问 public 路由,发现不需要鉴权就能访问
然后访问 admin 路由
发现需要登录了
但是如果我们修改配置代码
如下
重新启动环境再次访问 admin
成功访问到 admin 界面
漏洞分析
上面两种区别其实就是在于对配置中 admin 界面的写法
WebFlux 解析路径流程
首先是我们的 WebFlux 解析路径流程
在寻找对应的处理器的流程中会解析我们的 path
调用 lookupHandlerMethod 方法开始寻找处理器
增加我们的路由到 MatchingMapping 中
在这个过程中会不断去获取
getMatchingPatterns 方法
首先从请求中获取路径,然后通过 PathPattern 去匹配
如果匹配成功会返回,而我们的匹配机制来源于 patterns
所以重点就是去寻找我们的 patterns
而 patterns 在于运行我们程序初始化的时候
首先初始化的时候会调用 getMappingForMethod 方法,首先获取我们全部的路由
根据我们的方法名称去寻找对应的路由
具体的逻辑是在 createRequestMappingInfo 方法内部
调用 parse 去处理我们的路由
重点也在于这个 parse 方法
会调用 initFullPathPattern 去处理 pattern
会标准化我们的路由加上/
这就是为什么我们代码写的没有加上/也能够成功匹配到对应处理逻辑的原因
Security 的 pathMatchers 匹配流程
在解析路由的时候会调用 matches:74, PathPatternParserServerWebExchangeMatcher (org.springframework.security.web.server.util.matcher)
然后根据请求去获取我们的 path,获取了之后会进行 pattern 的匹配,只有匹配成功后才会将我们的路径放入 variables 中,以供后续权限检测的匹配,所以我们如果需要绕过那么需要实现,访问 admin 能够在 webflux 匹配成功,但是在这里匹配失败
而 pattern 是来源于我们的配置的,首先我们修改一下代码看看匹配成功的看看效果
这是能够匹配成功然后放入我们的变量的
我们分析一下匹配逻辑
获取我们的 head 也就是匹配规则的第一个字符,然后再获取待匹配对象
然后我们再次修改
再次查看匹配结果
这里是匹配失败的
原因在于我们第一个是 admin,而待匹配是/
导致匹配失败,导致我们后续也不会进行安全检测
绕过原理总结
分析了两个路径解析过程后我们再次来总结
绕过的核心就是 webflux 能够对我们输入路径正常解析,但是 security 不能正常解析
而对于 admin 这样的配置路由,在 webflux 会标准化处理,但是对于 security 这样的配置并不会标准化处理,导致了绕过
1
人收藏
0
人喜欢
转载
分享
0
条评论
某人
表情
可输入
255
字
评论
发布投稿
热门文章
1
2025ISCC练武区域赛和决赛pwn以及擂台pwn合集
2
通过Elastic EDR看smbexec并进行二次开发Bypass
3
php代码审计篇 - 信呼OA 前台注入分析一
4
D3CTF-d3kshrm(预期&非预期)题解
5
Tomcat解析XML引入的新颖webshell构造方式
近期热点
一周
月份
季度
1
2025ISCC练武区域赛和决赛pwn以及擂台pwn合集
2
通过Elastic EDR看smbexec并进行二次开发Bypass
3
php代码审计篇 - 信呼OA 前台注入分析一
4
D3CTF-d3kshrm(预期&非预期)题解
5
Tomcat解析XML引入的新颖webshell构造方式
暂无相关信息
暂无相关信息
优秀作者
1
一天
贡献值:18800
2
T0daySeeker
贡献值:18700
3
1174735059082055
贡献值:15000
4
Yale
贡献值:14000
5
1674701160110592
贡献值:13000
6
LeeH
贡献值:10000
7
MeteorKai
贡献值:9000
8
姓*户
贡献值:8600
9
熊猫正正
贡献值:8000
10
lufei
贡献值:8000
目录
springSecurity框架在 WebFlux 下的权限饶过
前言
环境搭建
漏洞复现
漏洞分析
WebFlux 解析路径流程
Security 的 pathMatchers 匹配流程
绕过原理总结
转载
标题
作者:
你好
http://www.a.com/asdsabdas
文章
转载
自
复制到剪贴板