【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)

Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)

0x00漏洞信息

Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX Dashboard 使用户可通过前端界面操作 Apache APISIX。该漏洞的存在是由于 Manager API 中的错误。Manager API 在 gin 框架的基础上引入了 droplet 框架,所有的 API 和鉴权中间件都是基于 droplet 框架开发的。但是有些 API 直接使用了框架 gin 的接口,从而绕过身份验证。

0x01影响范围

Apache APISIX Dashboard 2.7 - 2.10 版本
0x02漏洞复现
搭建环境后访问ip:9000
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第1张图片

看看其漏洞介绍:
利用/apisix/admin/migrate/export和/apisix/admin/migrate/import两个Apache APISIX Dashboard提供的未授权API,分别控制路由的导入和导出

先说导出:/apisix/admin/migrate/expor
默认密码admin/admin到后台,随便创建一个路由:

【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第2张图片

回到前台,访问路径:ip:port/apisix/admin/migrate/export
弹出文件下载:
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第3张图片

查看发现路由被泄露:
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第4张图片

再说导入接口:/apisix/admin/migrate/import
这个接口可以控制创建路由,通过写入lua脚本文件,文件格式参考这里:
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第5张图片

查看该路由的参数:

【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第6张图片

要注意的是,通过未授权接口导入lua脚本时,需要带上CRC校验码,即配置文件的最后4个字符。
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第7张图片

这里推荐使用该poc:https://github.com/wuppp/cve-2021-45232-exp。自动生成crc发送数据包。
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第8张图片

命令执行:
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第9张图片

0x03漏洞分析

Github定位漏洞补丁:
https://github.com/apache/apisix-dashboard/compare/v2.10…v2.10.1

【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第10张图片

api/internal/core/server/http.go:
删除了导入包:“github.com/apisix/manager-api/internal/filter”
删除了鉴权方式:“github.com/apisix/manager-api/internal/filter”
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第11张图片

api/internal/filter/authentication_test.go对路由:
/apisix/admin/user/login
/apisix/admin/user/login
进行了token检测

【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第12张图片

api/test/e2enew/migrate/migrate_test.go定位漏洞接口:
/apisix/admin/migrate/export
/apisix/admin/migrate/export
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第13张图片

api/internal/route.go修复方式:
删除原来的过滤器,增加新的过滤器

【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第14张图片

0x04 总结:

API接口未授权访问一直以来都是令甲方安全人员头疼的问题,在《OWASP API Security Top 10 2019》里面,Broken Object Level Authorization(失效的对象级授权),包括未授权、越权访问等,就是排在第一位的安全问题:

未授权漏洞的出现频率越来越高,且漏洞的利用又相对简单,今后应针对这个方向的漏洞多做积累,多做总结。
【复现与代码分析】Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)_第15张图片

你可能感兴趣的:(漏洞复现与分析,apisix漏洞,网络安全,未授权访问漏洞)