第三部分的signature签名用来认证签名是否被更改
算法为none是因为开发人员为了更方便的修改,把header部分设置为none,从而不用进行第三部分签名的认证。
注:一定要先切换到jwt_tool目录下面使用
还可以使用-c -d参数使用自带的字典进行爆破密钥
还可以使用jwt-cracker-master工具进行爆破,如下图所示
还有kali自带的工具hashcat,可以用来进行爆破
下面用一道ctfhub的jwt敏感信息泄露来举例
可以看到我们登录进去后,用f12检测可以发现他有着jwt形式的token,这里也可以用bp进行抓包,下面用kali中的jwt_tool工具进行破解,可以看到flag
还有一道类似的题,需要用到爆破工具,可以抓到包,看到jwt数据,拿到kali中进行jwt工具的扫描
从题目中可以知道必须要成为admin才可以得到flag,而我们是guest,所以我们可以试试把签名设置为空
下图是把签名设置为空,role设置为admin
注:因为采用了none算法 签名部分可以为空,header部分是定义加密算法的就可以不用
通过改完jwt再发包可以发现已经得到了flag
下面这道是修改签名算法,他给出了公钥,我们才可以修改
我们把公钥和用到的jwt加密脚本放到一个目录下面
直接运行脚本,就可以利用公钥,把我们的role身份修改为admin
抓包把jwt数据修改为我们跑出来的数据,可以得到flag