【备忘录】修复docker环境下的nacos安全漏洞:身份认证绕过漏洞

news2024/11/19 23:23:40

文章目录

    • 一、漏洞复现
      • 1.1 访问登录口用户名输入nacos密码输入任意值,进行抓包
      • 1.2 伪造登录凭证
      • 1.3 登录包中新加入一项凭证验证
    • 二、漏洞解决
      • 2.1 分析原因
      • 2.2 解决方案
      • 2.3 操作留痕
        • 1、先了解nacos部署环境
        • 2、查看比对配置文件
        • 3、修改配置文件后,重启

一、漏洞复现

报告截取内容如下

1.1 访问登录口用户名输入nacos密码输入任意值,进行抓包

img

image-20231023162238549

1.2 伪造登录凭证

添加有效登录时间戳

img

登录信息中

在payload中输入nacos与时间戳

并添加入nacos默认密钥

SecretKey012345678901234567890123456789012345678901234567890123456789

同时选中base64加密

点击生成

img

1.3 登录包中新加入一项凭证验证

Authorization: Bearer 加上凭证

点击发送发现正确登录返回信息

image-20231023162320571

之后讲登录返回包修改为正确登录信息

image-20231023162339953

img

发现登录成功


二、漏洞解决

1、更新版本:

https://nacos.io/zh-cn/blog/announcement-token-secret-key.html

缓解措施:

1、检查application.properties文件中token.secret.key属性,若为默认值,可参考:https://nacos.io/zh-cn/docs/v2/guide/user/auth.html进行更改

具体实操留痕如下,主要是公司的nacos是由之前离职的同事部署,具体研究一步看一部

2.1 分析原因

查看上文中的nacos博客文章可以知道,本次绕过身份验证的漏洞原因是:利用token默认值进行撞击,绕过身份验证。在nacos2.2.0.1和1.4.5版本之前的版本中,可能是为了便于开发环境使用,默认开启了一个自带的token默认值,导致上述报告中,可以利用默认的访问秘钥跳过认证,直接登陆。

2.2 解决方案

总结如下

  1. (旧版本)查看是否使用了默认的token.secret.keynacos.core.auth.server.identity.keynacos.core.auth.server.identity.value,如仍然使用默认值,请参考文档内容尽快进行修改。
  2. (新版本)根据文档设置token.secret.keynacos.core.auth.server.identity.keynacos.core.auth.server.identity.value,并尽快修改默认密码。
  3. 这类应用一般应该部署于内部网络环境,因此不建议用户将Nacos暴露在公网环境

分析解决方案,目前公司的nacos是2.04,采用旧版本解决方案,并且确实部署在内网环境中,没有对公网公开,所以只需要解决第一个方案。

2.3 操作留痕

1、先了解nacos部署环境
  • nacos采用docker部署,使用docker inspect指令可以查看到到挂载目录

    image-20231023163649427

  • 进入挂载目录,修改配置文件后再重启nacos即可。

2、查看比对配置文件

经过比对发现配置如下

image-20231023163800569

关于${NACOS_AUTH_TOKEN:****}这样格式写法的含义:

  • 当环境变量中存在NACOS_AUTH_TOKEN时,采用环境变量
  • 如果不存在NACOS_AUTH_TOKEN时,使用后面的值
3、修改配置文件后,重启

image-20231023164349992

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1124414.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

单链表,三部分详解(第一部分)单链表的解析

1. 链表的概念及结构 链表就是一个在物理储存上非连续,但在逻辑顺序上是连续的指针链接实现。 链表就像一大节火车,你在淡季的时候可以把车厢减少一点,旺季的 时候可以多加一点,不会影响其他车厢的使用。每节车厢都独立存在。 那我…

Hadoop+Hive+Spark+Hbase开发环境练习

1.练习一 1.数据准备 在hdfs上创建文件夹,上传csv文件 [rootkb129 ~]# hdfs dfs -mkdir -p /app/data/exam 查看csv文件行数 [rootkb129 ~]# hdfs dfs -cat /app/data/exam/meituan_waimai_meishi.csv | wc -l 2.分别使用 RDD和 Spark SQL 完成以下分析&#xf…

【环境】Linux下Anaconda/ Miniconda安装+百度Paddle环境搭建+Cudnn(3090显卡+CUDA11.8+cudnn8.6.0)

清华源帮助链接:https://mirror.tuna.tsinghua.edu.cn/help/anaconda/ 下载链接:https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 其他深度学习环境相关博文:【stable-diffusion】4090显卡下dreambooth、lora、sd模型微调的GUI环境…

没有英语要求的中国人大女王金融硕士有多香你可能还不知道

在当今全球化的世界中,英语已经成为了一种国际通用语言。对于许多学生来说,掌握英语是实现个人发展和职业成功的关键。尤其是在读研阶段,英语水平的要求更是不容忽视。但现实问题是我们没有相应的语言环境,直接导致的是大学的英语…

GPR 子波 一阶微分高斯脉冲和Ricker子波

gprMAX仿真时 用ricker子波,被审稿人咨询为什么用ricker波? 咨询了GPR设计专家,地耦雷达会用一阶高斯微分,空藕用ricker子波。实际上,我们都么有考虑这个。 给出matlab绘制代码 1 高斯脉冲 1.1 代码 % Parameters…

docker-rabbitmq 安装依赖

出现的问题如下: channel error; protocol method: #method(reply-code404, reply-textNOT_FOUND - no channel error; protocol method: #method<channel.close>(reply-code404, reply-textNOT_FOUND - no 查看rabbitmq 客户端是否存在如…

几千粉丝的视频账号播放量只有几百怎么办?借助批量剪辑快速提升播放量

为什么很多人的短视频账号明明有几千粉丝,但是发的作品却只有几百的播放量? 其实原因很简单,大多数人在起号的时候都会犯一个低级错误——盲目追求粉丝数量,而不在意粉丝质量。 做付费流量都懂:越是便宜的粉&#xf…

【会议征稿通知】第三届密码学、网络安全和通信技术国际会议(CNSCT 2024)

第三届密码学、网络安全和通信技术国际会议(CNSCT 2024) 2024 3rd International Conference on Cryptography, Network Security and Communication Technology 随着互联网和网络应用的不断发展,网络安全在计算机科学中的地位越来越重要&…

linux elf relationship between data structures involved in symbol resolution

When a program imports a certain function or variable, the linker will include a string with the function or variable’s name in the .dynstr section. A symbol (Elf Sym) that refers to the function or variable’s name in the .dynsym section, and a relocati…

vue面试题及答案【集合目录】

前言: 欢迎浏览和关注本专栏《 前端就业宝典 》, 不管是扭螺丝还是造火箭, 多学点知识总没错。 这个专栏是扭螺丝之上要造火箭级别的知识,会给前端工作学习的小伙伴带来意想不到的帮助。 本专栏将前端知识拆整为零,主要…

UI自动化测试,让测试高效起来

RunnerGo提供从API管理到API性能再到可视化的API自动化、UI自动化测试功能模块,覆盖了整个产品测试周期。 RunnerGo UI自动化基于Selenium浏览器自动化方案构建,内嵌高度可复用的测试脚本,测试团队无需复杂的代码编写即可开展低代码的自动化…

软考-des题目案例

1.补全图片中的数字 (1)10 ,(2)6,(3)1,(4)11 2.初始置换简单计算 置换时,从左上角的第一个元素开始,表示输入的明文的第5…

中国人民大学金融加拿大女王大学硕士项目:中外名校强强联手,共同打造金融精英

随着全球经济一体化的不断深入,金融行业在国际竞争中的地位日益凸显。为了培养具有国际视野、创新精神和实践能力的金融人才,中国人民大学与加拿大女王大学携手合作,共同打造了金融硕士项目。人大女王金融硕士项目旨在为学生提供世界一流的教…

sshd 解决问题 Deprecated SSH Cryptographic Settings 通过修改配置 去掉废弃的加密算法

sshd 解决问题 Deprecated SSH Cryptographic Settings 通过修改配置 去掉废弃的加密算法 证实无效, 有效解决办法是升级 openssh到最新版本,可以 yum 或者 编译安装 漏洞检测报说 使用废弃的加密算法 aes128-cbc aes256-cbc我们通过配置文件来去掉这两个算法,只保留系统中的…

使用Ubuntu系统搭建RabbitMQ服务并结合内网穿透实现公网访问

文章目录 前言1.安装erlang 语言2.安装rabbitMQ3. 内网穿透3.1 安装cpolar内网穿透(支持一键自动安装脚本)3.2 创建HTTP隧道 4. 公网远程连接5.固定公网TCP地址5.1 保留一个固定的公网TCP端口地址5.2 配置固定公网TCP端口地址 前言 RabbitMQ是一个在 AMQP(高级消息队列协议)基…

labelimg使用以及xml和txt转化

一、使用 winr——输入cmd 激活已有的环境 conda activate torch1.2.0 下载lebelme pip install labelme3.16.7 再输入labelme打开软件就可 可以设置自动保存,View——auto save mode打上勾 二、注意 1.自己类的定义名称,在txt中是0,1&a…

AI智慧安防智能监控平台EasyCVR隔天设备录像播放失败是什么原因?该如何解决?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等,能对外分发RTMP、RTSP、HTTP-FLV、…

java: 警告: 源发行版 8 需要目标发行版 1.8;(可我的项目是其他版本啊?)

我的项目是1.7 可运行时却要求是1.8 情况1 提示需要1.8 而你刚好项目就是1.8 那么就是配置问题 这里就不描述怎么解决了 方案很多。 情况2 项目用的不是XX版本却提示需要XX版本 在你的Maven目录的conf文件夹下settings.xml中下面 不知道maven目录在哪从这里看 如果这里指…

RFID资产管理解决方案

RFID固定资产管理方案提供了更高效、更安全、更便捷的解决方案,覆盖了资产全生命周期管理,包括采购、入库、领用、维修、调拨、归还和报废等所有环节。这有助于建立规范的管理标准和健全的管理体系,有效地克服了传统手工统计繁琐、文件繁多导…

蛇口街道小区长者服务示范点 ——在家门口“乐享晚年”

2023年9月28日,深圳市南山区蛇口街道创建健康街道行动之“老年肌少症免费筛查”项目走进了海昌社区,为数十位长者开展了系统筛查。在家门口就能够享受到由蛇口医院康复科医生提供的专业服务,这对于小区的老人们来说还是第一次。自今年7月以来…