freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

Nacos凭证伪造漏洞
2023-03-28 14:35:43
所属地 北京

概述

在成功利用了前边文章里的 nacos 漏洞之后,同事大神告诉我,nacos还有有个身份伪造漏洞,就手痒又试了试,毕竟授权的机会,不用白不用。so surprise!又干成功了!

简介

nacos使用jwt默认密钥加密

jwt官网:https://jwt.io/

jwt默认密钥:

SecretKey012345678901234567890123456789012345678901234567890123456789

漏洞影响:

CVE编号:暂无

危害等级:高危

公开时间:2023-03-14

影响版本:Nacos <= 2.2.0

漏洞复现:

1.漏洞原理

nacos的登录页面验证原理为:

输入正确的账号密码,则后端会返回对应该用户的加密accessToken。

1679924859_64219e7ba1910c71050f9.png!small?1679924859812

客户端得到此accessToken后会使用此Token再次请求后端服务器,及通过该用户身份登录。

1679924882_64219e92bee5e9e2eaeca.png!small?1679924883189

由于返回的accessToken只是对账号进行加密得到的!

而且nacos加密用户accessToken使用的jwt默认密钥加密,也就是只要知到nacos的用户,任何人都能通过此密钥加密用户得到对应用户的accessToken!

nacos存在默认用户nacos,所以我们可以尝试获取此默认用户的nacos。

2.利用过程

在jwt官网页面尝试加密nacos,获取accessToken:

1679925009_64219f11e571d08157cad.png!small?1679925010222

随便输入登录框,拦截此登录包的响应:

1679925029_64219f251213b02717299.png!small?1679925029199

响应:

1679925056_64219f405114bb7f3122f.png!small?1679925056386

将此相应替换成正确的响应,将accessToken替换为刚刚生成的accessToken。

1679925255_6421a0079dd29a6c46da0.png!small?1679925255865

再次浏览器再次发起请求时已经使用了我们生成的accessToken:

1679925237_64219ff55224deeed4a51.png!small?1679925237449

认证成功:

1679925222_64219fe6420cf9e1e215b.png!small?1679925222420

使用此accessToken成功进入后台页面:

1679925297_6421a031a59c0ff399495.png!small?1679925297814


修复建议:

1.官方已给出修改方法,建议根据官方指导 https://nacos.io/zh-cn/docs/auth.html修改secret.key 为随机值,并注意保密。

# xss
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录