Nacos权限认证绕过漏洞(CVE-2021-29441)虚拟机环境下复现

0x00 漏洞概述

nacos在进行认证授权操作时,会判断请求的user-agent是否为”Nacos-Server”,如果是的话则不进行任何认证。利用这个未授权漏洞,攻击者可以获取到用户名密码等敏感信息并创建任意用户进行登录。

0x01 环境搭建

使用CentOS 7虚拟机来充当靶机


下载安装文件:
https://github.com/alibaba/nacos/releases/tag/2.0.0-ALPHA.1

解压文件进入目录 /nacos/bin

在该目录下使用命令
./startup.sh -m standalone
启动环境

 nacos的默认端口是8848
所以在当前虚拟机浏览器内输入
127.0.0.1:8848/nacos

进入Nacos登录页面

默认账号密码为:nacos/nacos

进行到这一步代表环境已经搭建成功了

0x02 漏洞复现

开启一台装有burp suite的kali虚拟机用来复现漏洞

访问靶机安装的nacos环境
http://靶机ip:8848/nacos

靶机ip地址在靶机内使用ifconfig命令查看

ens33的ip即为靶机地址

kali内成功访问靶机Nacos页面

在url处添加访问网址查看Nacos当前用户列表
http://靶机ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=100

启动burpsuite,进入proxy模块

点击intercept is off 使其更改为 intercept is on

有点懒,直接用bp自带的代理浏览器了

在代理浏览器内输入以下url
http://靶机ip:8848/nacos/v1/auth/users

bp会弹出并显示抓取到的信息

点击右键,选择Send to Repeater

点击上方Repeater模块进入该页面

右键选择Change request method
将请求方式从GET更改为POST

将User-Agent字段的内容更改为Nacos-Server

更改前

更改后

构造一个POST请求体,注意要与头部字段之间有空行

username=haha&password=haha

username为需要添加的用户名
password为该用户名对应的密码

点击Send,查看返回参数,显示200时表示成功!

退出bp,打开浏览器

在url处添加访问网址查看当前用户列表
http://靶机ip:8848/nacos/v1/auth/users?pageNo=1&pageSize=100

可以看到已经新增了haha用户

回到登录界面使用刚刚添加的用户名密码进行登录

登录成功!


0x03修复建议

官方已发布安全版本,建议下载或升级至最新版本

0x04 如有疑问,欢迎评论区留言,制作不易,请多多包涵
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值