Nacos凭证伪造漏洞

概述
在成功利用了前边文章里的 nacos 漏洞之后,同事大神告诉我,nacos还有有个身份伪造漏洞,就手痒又试了试,毕竟授权的机会,不用白不用。so surprise!又干成功了!
简介
nacos使用jwt默认密钥加密
jwt官网:https://jwt.io/
jwt默认密钥:
SecretKey012345678901234567890123456789012345678901234567890123456789
漏洞影响:
CVE编号:暂无
危害等级:高危
公开时间:2023-03-14
影响版本:Nacos <= 2.2.0
漏洞复现:
1.漏洞原理
nacos的登录页面验证原理为:
输入正确的账号密码,则后端会返回对应该用户的加密accessToken。
客户端得到此accessToken后会使用此Token再次请求后端服务器,及通过该用户身份登录。
由于返回的accessToken只是对账号进行加密得到的!
而且nacos加密用户accessToken使用的jwt默认密钥加密,也就是只要知到nacos的用户,任何人都能通过此密钥加密用户得到对应用户的accessToken!
nacos存在默认用户nacos,所以我们可以尝试获取此默认用户的nacos。
2.利用过程
在jwt官网页面尝试加密nacos,获取accessToken:
随便输入登录框,拦截此登录包的响应:
响应:
将此相应替换成正确的响应,将accessToken替换为刚刚生成的accessToken。
再次浏览器再次发起请求时已经使用了我们生成的accessToken:
认证成功:
使用此accessToken成功进入后台页面:
修复建议:
1.官方已给出修改方法,建议根据官方指导 https://nacos.io/zh-cn/docs/auth.html修改secret.key 为随机值,并注意保密。
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录