【问题解决】Nacos服务端NVDB-CNVDB-2023674205漏洞
缘起
最近(2023.03.13)客户现场要求自检有无使用Nacos,原因是Nacos存在认证绕过高危漏洞,其漏洞代码NVDB-CNVDB-2023674205,本文就简单说一下这个事儿,以及如何解决这个问题。
以下内容中,Nacos服务端A简称A,Nacos服务端B简称B。
问题现象
可以使用已知账号密码的A的登录响应体,替换未知密码的B登录响应体来绕过认证,进入B后台。
影响范围:<=2.2.0
问题原因
Nacos使用JWT生成密钥,同样的JWT生成key会导致A的token可以给B使用。
解决办法
方法一、修改生成token的key
Nacos提供了修改默认JWT token生成key的配置项:
#启用认证
nacos.core.auth.enabled=true
#生成token的密钥
nacos.core.auth.plugin.nacos.token.secret.key=BASE64编码
推荐自定义密钥时,推荐将配置项设置为Base64编码的字符串,且原始密钥长度不得低于32字符。
方法二、升级到2.2.0.1及以后版本
目前Nacos官方在2023.03.02发布了2.2.0.1,下载地址:https://github.com/alibaba/nacos/releases/tag/2.2.0.1
以后更近版本参见:https://github.com/alibaba/nacos/releases
方法三、容器环境处理方式
对于容器环境则将 NACOS_AUTH_ENABLE=true 与 NACOS_AUTH_TOKEN=BASE64编码 作为环境变量传入即可。
参考引用:
- https://github.com/alibaba/nacos/issues/7127
- https://github.com/alibaba/nacos/issues/9744
- https://github.com/alibaba/nacos/issues/10060
- https://nacos.io/zh-cn/blog/announcement-token-secret-key.html
- https://nacos.io/zh-cn/docs/v2/guide/user/auth.html
【问题解决】Nacos服务端NVDB-CNVDB-2023674205漏洞的更多相关文章
- 公益:开放一台Nacos服务端给各位Spring Cloud爱好者
之前开放过一台公益Eureka Server给大家,以方便大家在阅读我博客中教程时候做实验.由于目前在连载Spring Cloud Alibaba,所以对应的也部署了一台Nacos,并且也开放出来,给 ...
- Nacos(二)源码分析Nacos服务端注册示例流程
上回我们讲解了客户端配置好nacos后,是如何进行注册到服务器的,那我们今天来讲解一下服务器端接收到注册实例请求后会做怎么样的处理. 首先还是把博主画的源码分析图例发一下,让大家对整个流程有一个大概的 ...
- web服务端安全之权限漏洞
一.权限漏洞 访问控制是指用户对系统所有访问的权限控制,通常包含水平权限,和垂直权限. 水平越权:同一角色级别的用户之间所产生的问题,如A用户可以未授权访问B用户的数据: 垂直越权:不同角色级别的用户 ...
- Nacos源码系列—服务端那些事儿
点赞再看,养成习惯,微信搜索[牧小农]关注我获取更多资讯,风里雨里,小农等你,很高兴能够成为你的朋友. 项目源码地址:公众号回复 nacos,即可免费获取源码 前言 在上节课中,我们讲解了客户端注册服 ...
- nacos服务注册与发现原理解析
前言:nacos 玩过微服务的想必不会陌生,它是阿里对于springcloud孵化出来的产品,用来完成服务之间的注册发现和配置中心,其核心作用我就不废话了 大致流程:每个服务都会有一个nacos cl ...
- Nacos 服务注册的原理
Nacos 服务注册需要具备的能力: 服务提供者把自己的协议地址注册到Nacos server 服务消费者需要从Nacos Server上去查询服务提供者的地址(根据服务名称) Nacos Serve ...
- 微服务架构 | *3.5 Nacos 服务注册与发现的源码分析
目录 前言 1. 客户端注册进 Nacos 注册中心(客户端视角) 1.1 Spring Cloud 提供的规范标准 1.2 Nacos 的自动配置类 1.3 监听服务初始化事件 AbstractAu ...
- Nacos服务注册与发现的2种实现方法!
Spring Cloud Alibaba 技术体系中的 Nacos,提供了两个重要的功能:注册中心(服务注册与发现)功能和配置中心功能. 其中注册中心解决了微服务调用中,服务提供者和服务调用者的解耦, ...
- 配置中心Nacos(服务发现)
服务演变之路 单体应用架构 在刚开始的时候,企业的用户量.数据量规模都⽐较⼩,项⽬所有的功能模块都放在⼀个⼯程中编码.编译.打包并且部署在⼀个Tomcat容器中的架构模式就是单体应用架构,这样的架构既 ...
- Weblogic服务端请求伪造漏洞(SSRF)和反射型跨站请求伪造漏洞(CSS)修复教程
一.服务端请求伪造漏洞 服务端请求伪造(Server-Side Request Forgery),是指Web服务提供从用户指定的URL读取数据并展示功能又未对用户输入的URL进行过滤,导致攻击者可借助 ...
随机推荐
- Profiler中WaitForTargetFPS详解【转】
WaitForTargetFPS 该参数一般出现在 CPU开销过低,且通过设定了目标帧率的情况下(Application.targetFrameRate).当上一帧低于目标帧率时,将会在本帧产生一个W ...
- error Delete `␍` prettier/prettier 错误解决方案
问题根源: 罪魁祸首是git的一个配置属性:core.autocrlf 由于历史原因,windows下和linux下的文本文件的换行符不一致. Windows在换行的时候,同时使用了回车符CR(car ...
- postman-error:SyntaxError: Invalid shorthand property initializer
SyntaxError: Invalid shorthand property initializer 速记属性初始值设定项无效 原因:
- 处理时间转换不正确-Springboot、springclound、feign、http请求
SpringBoot.SpringCloud.feign.前后端时间解析不正确时,我们可以自定义HttpMessageConverters,以达到我们希望的结果 参考链接:https://www.cn ...
- 西瓜书3.3 尝试解题(python)对率回归 极大似然估计
数据如下: x01=[0.697,0.774,0.634,0.608,0.556,0.403,0.481,0.437,0.666,\ 0.243,0.245,0.343,0.639,0.657,0.3 ...
- JavaScript数据类型以及转换
一.数据类型 分类 基本(值)类型: String Number Boolean undefined unll 对象(引用)类型: Object:任意对象 Array:一种特别的对象 Function ...
- PLC入门笔记8
梯形图基础电路 起保停电路 多点起保停电路 互锁控制电路 周期闪烁电路 这应该是等价的!! 定时器的接力电路 同 延时接通,延时断开电路 同 保持信号变脉冲信号电路 定时器TON 接通延时变断开延时电 ...
- vue 数组对象去重
unique(arr) { const res = new Map(); return arr.filter((arr) => !res.has(arr.id) &&am ...
- mybatis核心配置文件
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC ...
- new一个实例的原理及过程
前提,要明白new出来的实例是什么,包含了哪些内容? 请看一下举例代码↓↓↓↓ function Person(name,age){ this.name = name; this.age = age; ...