关于Nacos身份认证绕过漏洞默认密钥和JWT的研究

发布时间 2023-06-26 13:49:05作者: spmonkey

前言

由于本人的一个习惯,每次遇到漏洞并复现后都要编写poc,以便下一次的直接利用与复测使用。研究Nacos默认密钥和JWT的爱恨情仇的过程中遇到了莫名其妙的问题,在此做以记录,方便日后有大佬遇到相同的问题路过看到能够得以解决。

研究过程

在Nacos身份认证绕过漏洞复现文章中提到jwt.io网站,其中有一个secret base64 encoded的选项,百度一下得知勾选后,即认为密钥是base64编码,加密前会先对密钥进行base64解码。

使用python的base64模块库解码会报错,因为nacos提供的密钥不是4的倍数

随后我尝试了所有base64解码的在线网站都不行,于是就开始了手搓base64解码代码。

解码后

将解码后的字节串和指定header、payload进行JWT加密即可成功绕过身份认证