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

一、背景

nacos安全预警,对问题复现后进行修复。

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

漏洞信息

漏洞类型:身份认证绕过

漏洞等级:高危

漏洞编号:NVDB-CNVDB-2023674205

漏洞影响范围:

0.1.0 <= Nacos <= 2.2.0基本上都受到了影响,最新的版本已修复漏洞。

漏洞的本质是因为使用了默认的key

JWT(JSON Web Token)是一种用于在网络应用之间安全传递信息的开放标准。在使用JWT时,通常需要使用密钥对token进行签名,以确保token在传输过程中不被篡改。如果在代码中将密钥硬编码到应用程序中,将会存在JWT硬编码漏洞。

JWT硬编码漏洞是指将密钥硬编码到应用程序代码中,而不是存储在安全的密钥存储库中,攻击者可以轻松地获取该密钥并使用其签署和验证JWT。这使攻击者可以创建或修改JWT,或者验证伪造的JWT,从而导致安全漏洞。例如,应用程序使用硬编码密钥对JWT进行签名,攻击者可以轻松获取该密钥并创建有效的JWT,该JWT会被误认为是经过身份验证的用户,从而获得未经授权的访问权限。因此,为了避免JWT硬编码漏洞,应该将密钥存储在安全的密钥存储库中,并且只有授权的应用程序可以访问它。

二、复现步骤

(一)安装nacos服务

略过

(二)JWT构造

1、nacos默认key

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

SecretKey012345678901234567890123456789012345678901234567890123456789

2、unix时间戳

需要大于当前系统时间

3、JWT认证构造

https://jwt.io

(三)浏览器fetch重发确认

1、报文复制

2、添加认证信息

3、报文重发

确认可以登录成功

(四)burp拦截模拟

关闭代理,成功绕过