漏洞描述:
Nacos 身份认证绕过漏洞(QVD-2023-6271),开源服务管理平台 Nacos在默认配置下未对 token.secret.key 进行修改,导致远程攻击者可以绕过密钥认证进入后台,造成系统受控等后果。
漏洞信息
公开时间:2023-03-09
编号:QVD-2023-6271
威胁类型:身份认证绕过
厂商:alibaba
产品:Nacos
影响版本:0.1.0 <= Nacos <= 2.2.0
不受影响版本:Nacos >= 2.2.0.1
环境搭建
在github下载有漏洞的版本
Releases · alibaba/nacos · GitHub
要在配置文件中开启权限认证
漏洞复现
在0.1.0 <= Nacos <= 2.2.0中,token.secret.key值是固定死的,位置在conf下的application.properties中:
SecretKey012345678901234567890123456789012345678901234567890123456789
JWT
JSON Web Token是一种用于在网络应用之间安全传递信息的开放标准。使用JWT时,通常需要使用密钥对token进行签名,确保token在传输过程中不被篡改。如果在代码中将密钥硬编码到应用程序中,将会存在JWT硬编码漏洞。
通过默认key来构造JWT,进行到后台,构造方法:
访问两个网站,一个是时间戳网站,一个是JWT的
在线时间戳转换工具
JSON Web Tokens - jwt.io
在构造时要注意下时间戳,需要换算一下,比你系统时间要晚一些,比如当前时间时2024年4月12日,在时间戳时间时13日。
在登录请求中,拦截数据包,添加Authorization信息,拦截放回包后放包
Authorization: Bearer 你的token
在 放回包发现时200,修改false为true,查看页面发现已经等了成功。
修复建议:
1,更新到最新版本
2,网站只允许内网访问,禁止暴露在互联网上。