Apache ShenYu管理系统登录认证绕过漏洞分析(CVE-2021-37580)

导语

Apache ShenYu 是一个异步的,高性能的,跨语言的,响应式的 API 网关。近期VLab监测到其历史版本(2.3.0-2.4.0)中存在登录认证绕过的风险,CVE编号为CVE-2021-37580

本文仅限于对漏洞点进行研究讨论,禁止任何人用于非法途径,所产生的任何非法攻击都与本作者无关,本文会对具体PoC部分进行阉割.请严格遵守《网络安全法》

环境搭建

先从官方仓库克隆一份最新代码到本地,然后切换到相关tag,方便分析漏洞。

git clone https://github.com/apache/incubator-shenyu.git
git checkout v2.4.0
git switch -c v2.4.0

然后按照官方手册启动ShenyuAdminBootstrapShenyuBootstrapApplication即可,(https://shenyu.apache.org/zh/docs/2.4.0/deployment/deployment-local)

漏洞复现

根据CVE-2021-37580描述我们可以知道,该漏洞点在jwt认证的过程中,我看到漏洞描述的第一时间以为是jwt秘钥硬编码导致的漏洞,但是后面分析的时候才发现我格局小了。查看源码可以知道其认证过程使用的是shiro+jwt认证方式。那么直接找到shiro的验证逻辑进行断点即可跟进整个认证登录流程。在shenyu-admin/src/main/java/org/apache/shenyu/admin/shiro/config/ShiroRealm.java中 可以看到两个doGetAuthorizationInfo方法,其中doGetAuthorizationInfo(final

你可能感兴趣的:(安全,apache,web安全)