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拦截模拟
关闭代理,成功绕过