CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

admin 2022年8月5日12:15:06安全文章评论13 views1053字阅读3分30秒阅读模式
漏洞简介

Apache ShenYu是一个异步的,高性能的,跨语言的,响应式的API网关,Apache ShenYu功能十分强大且易于扩展,支持各种语言的http协议,同时支持Dubbo、 Spring Cloud、 gRPC、 Motan、 Sofa、 Tars 等协议。2021年11月,Apache ShenYu被爆出存在身份认证绕过漏洞,攻击者可以通过该漏洞绕过JWT(JSON Web Token)安全认证机制,直接进入系统后台。

影响版本
该漏洞影响Apache ShenYu的以下版本:
  • Apache ShenYu 2.3.0
  • Apache ShenYu 2.4.0

环境搭建

首先使用docker搭建存在漏洞的Apache ShenYu 2.4.0环境

使用sudo docker pull apache/shenyu-admin:2.4.0命令拉取容器

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

使用命令sudo docker run --rm -d apache/shenyu-admin:2.4.0开启Apache ShenYu容器

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

运行docker ps命令查看容器是否正常启动

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

此时容器的映射端口时存在问题的,需要运行下面的命令重新映射端口并重启容器

sudo docker stop 61c1b797c35dsudo docker run --rm -d -p 9095:9095 apache/shenyu-admin:2.4.0sudo docker ps -a

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

浏览器访问http://ip:9095/出现如下界面则证明Apache ShenYu 2.4.0环境搭建成功

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

漏洞复现

首先使用默认初始账号密码admin/123456登录进入后台

System Manager->User新建一个用户,角色为default

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

使用新建的账号进行登录

此时登录界面会提示用户角色为配置权限错误,无法进入后台

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

抓包发现该账号的登录包已经生成了jwt token

登录接口为:

http://192.168.210.102:9095/platform/login?userName=test&password=test123

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

接下来用上述不具备任何权限的账号的jwt token去访问管理员才能访问的接口

http://192.168.210.102:9095/dashboardUser?currentPage=1&pageSize=12

发现访问成功,获取到了所有的账号信息,漏洞复现成功

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

修复方案
将Apache ShenYu升级到最新版本。

CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现


CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

原文始发于微信公众号(第59号):CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现

特别标注: 本站(CN-SEC.COM)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
  • 我的微信
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年8月5日12:15:06
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                  CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现 http://cn-sec.com/archives/1223718.html

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: