nacos越权漏洞复现

1.低版本(nacos<1.4.1)默认白名单UA

开启鉴权功能后,服务端之间的请求也会通过鉴权系统的影响。考虑到服务端之间的通信应该是可信的,因此在1.2~1.4.0版本期间,通过User-Agent中是否包含Nacos-Server来进行判断请求是否来自其他服务端。

但这种实现由于过于简单且固定,导致可能存在安全问题。因此从1.4.1版本开始,Nacos添加服务身份识别功能,用户可以自行配置服务端的Identity,不再使用User-Agent作为服务端请求的判断标准。
默认nacos/conf/application.properties中开启了白名单UA

nacos.core.auth.enable.userAgentAuthWhite=true

复制代码
### 开启鉴权
nacos.core.auth.enabled=true
 
### 关闭使用user-agent判断服务端请求并放行鉴权的功能
nacos.core.auth.enable.userAgentAuthWhite=false
 
### 配置自定义身份识别的key(不可为空)和value(不可为空)
nacos.core.auth.server.identity.key=example
nacos.core.auth.server.identity.value=example

** 注意 ** 所有集群均需要配置相同的server.identity信息,否则可能导致服务端之间数据不一致或无法删除实例等问题。

2.默认token.secret.key

Nacos服务管理平台因默认密钥导致的认证绕过漏洞。在默认配置为未修改的情况下,攻击者可以构造用户 token 进入后台,导致系统被攻击与控制。许多Nacos 用户只开启了鉴权,但没有修改默认密钥,导致Nacos系统仍存在被入侵的风险

使用jwt.io对accessToken进行构造(exp时间需要为当天)

复制代码
修改nacos.core.auth.default.token.secret.key的默认值

3.未开启授权

复制代码
将nacos.core.auth.enabled设置为true

4.默认账号

输入 nacos/nacos 成功登陆后台

相关推荐
皮皮林5511 小时前
SpringBoot 全局/局部双模式 Gzip 压缩实战:14MB GeoJSON 秒变 3MB
java·spring boot
weixin_456904271 小时前
Spring Boot 用户管理系统
java·spring boot·后端
趁你还年轻_1 小时前
异步编程CompletionService
java
DKPT1 小时前
Java内存区域与内存溢出
java·开发语言·jvm·笔记·学习
sibylyue1 小时前
Guava中常用的工具类
java·guava
奔跑吧邓邓子1 小时前
【Java实战㉞】从0到1:Spring Boot Web开发与接口设计实战
java·spring boot·实战·web开发·接口设计
专注API从业者2 小时前
Python/Java 代码示例:手把手教程调用 1688 API 获取商品详情实时数据
java·linux·数据库·python
奔跑吧邓邓子2 小时前
【Java实战㉝】Spring Boot实战:从入门到自动配置的进阶之路
java·spring boot·实战·自动配置
ONLYOFFICE2 小时前
【技术教程】如何将ONLYOFFICE文档集成到使用Spring Boot框架编写的Java Web应用程序中
java·spring boot·编辑器
叫我阿柒啊2 小时前
Java全栈开发工程师的实战面试经历:从基础到微服务
java·微服务·typescript·vue·springboot·前端开发·后端开发