Json web token (JWT)渗透与防御及ctf例题

第三部分的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

相关推荐
恰薯条的屑海鸥1 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
20242817李臻1 小时前
20242817李臻-安全文件传输系统-项目验收
数据库·安全
DevSecOps选型指南10 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
ABB自动化10 小时前
for AC500 PLCs 3ADR025003M9903的安全说明
服务器·安全·机器人
恰薯条的屑海鸥10 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十六期-SSRF模块)
数据库·学习·安全·web安全·渗透测试·网络安全学习
阿部多瑞 ABU11 小时前
主流大语言模型安全性测试(三):阿拉伯语越狱提示词下的表现与分析
人工智能·安全·ai·语言模型·安全性测试
网安INF12 小时前
CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)
java·web安全·网络安全·flink·漏洞
lubiii_13 小时前
墨者学院-密码学实训隐写术第二题
web安全·网络安全·密码学
moongoblin14 小时前
行业赋能篇-2-能源行业安全运维升级
运维·安全·协作
Fortinet_CHINA14 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
网络·安全