Apache ShenYu是一个异步的,高性能的,跨语言的,响应式的API网关,Apache ShenYu功能十分强大且易于扩展,支持各种语言的http协议,同时支持Dubbo、 Spring Cloud、 gRPC、 Motan、 Sofa、 Tars 等协议。2021年11月,Apache ShenYu被爆出存在身份认证绕过漏洞,攻击者可以通过该漏洞绕过JWT(JSON Web Token)安全认证机制,直接进入系统后台。
-
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命令拉取容器
使用命令sudo docker run --rm -d apache/shenyu-admin:2.4.0开启Apache ShenYu容器
运行docker ps命令查看容器是否正常启动
此时容器的映射端口时存在问题的,需要运行下面的命令重新映射端口并重启容器
sudo docker stop 61c1b797c35d
9095 apache/shenyu-admin:2.4.0 :
sudo docker ps -a
浏览器访问http://ip:9095/出现如下界面则证明Apache ShenYu 2.4.0环境搭建成功
首先使用默认初始账号密码admin/123456登录进入后台
System Manager->User新建一个用户,角色为default
使用新建的账号进行登录
此时登录界面会提示用户角色为配置权限错误,无法进入后台
抓包发现该账号的登录包已经生成了jwt token
登录接口为:
http://192.168.210.102:9095/platform/login?userName=test&password=test123
接下来用上述不具备任何权限的账号的jwt token去访问管理员才能访问的接口
http://192.168.210.102:9095/dashboardUser?currentPage=1&pageSize=12
发现访问成功,获取到了所有的账号信息,漏洞复现成功
原文始发于微信公众号(第59号):CVE-2021-37580 Apache ShenYu 身份验证绕过漏洞复现
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论