码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【备忘录】修复docker环境下的nacos安全漏洞:身份认证绕过漏洞


    文章目录

      • 一、漏洞复现
        • 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.key、nacos.core.auth.server.identity.key 和 nacos.core.auth.server.identity.value,如仍然使用默认值,请参考文档内容尽快进行修改。
    2. (新版本)根据文档设置token.secret.key、nacos.core.auth.server.identity.key 和 nacos.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

  • 相关阅读:
    有趣的特性:CHECK约束
    动态规划示例理解
    【gitlab】本地项目上传gitlab
    chromium的下载和编译,必须要梯子
    [HDLBits] Exams/2014 q4b
    反射、枚举、lambda——小记
    人工智能理论介绍
    线性回归算法——小批量随机梯度下降
    普通人做自媒体视频剪辑有出路吗?
    谷歌牵头呼吁保护开源项目;Firefox 更新后服务器出现 Bug;Rust 1.58.0 发布 | 开源日报
  • 原文地址:https://blog.csdn.net/Xcong_Zhu/article/details/133994723
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号