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

这篇具有很好参考价值的文章主要介绍了【备忘录】修复docker环境下的nacos安全漏洞:身份认证绕过漏洞。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、漏洞复现

报告截取内容如下

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

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

1.2 伪造登录凭证

添加有效登录时间戳

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

登录信息中

在payload中输入nacos与时间戳

并添加入nacos默认密钥

SecretKey012345678901234567890123456789012345678901234567890123456789

同时选中base64加密

点击生成

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

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

Authorization: Bearer 加上凭证

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

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

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

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

发现登录成功


二、漏洞解决

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指令可以查看到到挂载目录

    alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

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

2、查看比对配置文件

经过比对发现配置如下

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java

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

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

alibaba nacos token硬编码身份验证绕过漏洞,备忘录,docker,网络,容器,nacos,java文章来源地址https://www.toymoban.com/news/detail-788908.html

到了这里,关于【备忘录】修复docker环境下的nacos安全漏洞:身份认证绕过漏洞的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 苹果手机备忘录如何导入新手机?手机备忘录怎么转移?

    一般来说,大多数手机用户更换手机的频率是3—5年,在一部手机使用了几年之后,就会出现内存不足、系统卡顿、电池续航时间较短等问题,这时候就需要更换新的手机了。有不少苹果手机用户在更换新手机的时候,都很发愁一个问题,这就是手机备忘录如何导入新手机。

    2024年01月25日
    浏览(33)
  • 备忘录模式

    在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 1.1 撤销操作: 例如,在文本编辑器中,当我们对文本进行修改时,可以使用备忘录模式来实现撤销操作。每次对文本进行修改时,就保存当

    2024年02月03日
    浏览(32)
  • 备忘录模式(Memento)

    备忘录模式是一种行为设计模式,在不破坏封装性的前提下,允许在不暴露对象实现细节的情况下保存和恢复对象之前的状态。 一个备忘录(memento)是一个对象,它存储另一个对象在某个瞬间的内部状态,而后者称为备忘录的原发器(originator)。当需要设置原发器的检查点时,取

    2024年02月13日
    浏览(27)
  • stata备忘录

    1. 画图 (1)时间趋势图 等价命令 字体大小 option 字体大小option description zero no size whatsoever, vanishingly small minuscule smallest quarter_tiny third_tiny half_tiny tiny vsmall small medsmall medium medlarge large vlarge huge vhuge largest tenth one-tenth the size of the graph quarter one-fourth the size of the graph third one-thi

    2024年02月03日
    浏览(29)
  • 博文备忘录

    https://blog.csdn.net/ZQ_KING/article/details/80320080 (链接层)MAC地址——ARP协议 (网络层)IP地址——IP协议 (传输层)端口——UDP协议、TCP协议 (应用层)域名——HTTP协议、HTTPS协议 https://github.com/xiaomuzhu/front-end-interview/blob/master/docs/guide/http.md (http) https://github.com/xiaomuzhu/front-

    2024年02月08日
    浏览(31)
  • C语言备忘录一

    int arr[5] = {1, 2, 3, 4, 5}😭 数组 【】中的数字大小是从一开始数,{}中的大小是从零开始数) extern extern表明变量或者函数是定义在其他其他文件中的 int a = 5与int a = 5意义是一样的,都是定义。而extern int a;是声明。但会产生一条警告; extern \\\"C\\\"的主要作用就是为了能够正确实现

    2024年02月06日
    浏览(27)
  • 设计模式-备忘录模式

    备忘录模式(Memento Pattern)是计算机科学中的一种行为设计模式。它提供了一种在不破坏封装性的前提下,捕获和恢复对象内部状态的方法。这种模式主要用于在用户需要回滚到对象的某个先前状态时,能够实现状态的还原。 在备忘录模式中,主要涉及到三个角色: Origina

    2024年01月23日
    浏览(38)
  • 设计模式——备忘录模式

    备忘录模式(Memento Pattern)是一种行为型设计模式,它在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样可以在需要时将对象恢复到先前的状态。 发起人(Originator): 是拥有复杂内部状态的对象,它可以创建和恢复备忘录。 备忘录(M

    2024年01月19日
    浏览(32)
  • 设计模式(十八)备忘录

    在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样就可以在以后将对象恢复到原先保存的状态。备忘录模式是一种对象行为型模式,其别名为标记(Token)模式。 备忘录模式的核心在于备忘录类以及用于管理备忘录的负责人类的设计,包

    2024年02月04日
    浏览(34)
  • 安卓adb调试备忘录

    由于 MAC 的 USB 口全被占用着,采用无线连接刚方便,记录一下,以防忘记~ USB 调试 手机开启开发者选项和 USB 调试模式(通常开启方式:在关于手机连续点击7次版本号); USB 连接线和各种接口正常(个别三方数据线仅支持充电,不支持调试); 驱动状态正常(Linux 和 Mac

    2024年02月21日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包