JWT弱密钥暴力破解

admin 2024年12月27日12:37:48评论12 views字数 1354阅读4分30秒阅读模式
JWT弱密钥暴力破解

JWT弱密钥暴力破解

JWT密钥介绍

在 JWT 中密钥用于生成和验证签名,因此密钥的安全性对JWT的安全性至关重要,一般来说JWT有以下两种类型的密钥:

  • 对称密钥:对称密钥是一种使用相同的密钥进行加密和解密的加密算法,在JWT中使用对称密钥来生成和验证签名,因此密钥必须保密,只有发送方和接收方知道,由于对称密钥的安全性取决于密钥的保密性,因此需要采取一些措施来保护它
  • 非对称密钥:非对称密钥使用公钥和私钥来加密和解密数据,在JWT中使用私钥生成签名,而使用公钥验证签名,由于公钥可以公开,因此非对称密钥通常用于验证方的身份

在实现JWT应用程序时,开发人员有时会犯一些错误,比如:忘记更改默认密码或占位符密码,他们甚至可能复制并粘贴他们在网上找到的代码片段然后忘记更改作为示例提供的硬编码秘密,在这种情况下攻击者使用众所周知的秘密的单词列表来暴力破解服务器的秘密是很容易的。

在进行JWT弱密钥破解时,只需要来自目标服务器的有效签名 JWT 和已知密钥的单词列表。利用 hashcat 或者 jwt_tool 来进行暴力破解

公开已知密钥列表:

https://github.com/wallarm/jwt-secrets/blob/master/jwt.secrets.list

下面以 portswigger 靶场来演示两个工具的使用

方式一:hashcat

项目地址:https://github.com/hashcat/hashcat

1.使用wiener用户登录,查看数据包,其中session的值即为JWT, 将 JWT 数据保存 jwt.txt ,准备好密钥列表 jwt-secret.txt

JWT弱密钥暴力破解
JWT弱密钥暴力破解
2.使用 hashcat 进行暴力破解,破解完成显示 JWT 后跟 secret1 ,表明弱密钥为 secret1
hashcat -m 16500 jwt.txt -a 0 secrets.txt
JWT弱密钥暴力破解
JWT弱密钥暴力破解

3.生成伪造密钥

header(base64)+payload(base64)使用.连接组成的字符串,然后通过header中声明的加密方式进行加盐secret1组合加密,然后就构成了jwt的第三部分

到 https://jwt.io 中修改 wiener 为 administrator  ,将破解出来的密钥 secret1 加进去

JWT弱密钥暴力破解

4.复制新的 JWT 到 session,访问 /admin 成功, 调用 /admin/delete?username=carlos 删除用户 carlos

JWT弱密钥暴力破解
JWT弱密钥暴力破解
方式二:jwt_tool

项目地址:https://github.com/ticarpi/jwt_tool

python3 jwt_tool.py JWT_HERE -C -d secret.txtpython3 jwt_tool.py eyJraWQiOiI4M2RhOGNjMi1hZmZiLTRmZGMtYWMwYS1iMWNmMTBkNjkyZGYiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsInN1YiI6IndpZW5lciIsImV4cCI6MTY4Nzc5NjQwMn0.IhZV-7RHTpEcQvkcZOA3knCYmQD0YUg-NFMj9fWSFjw -C -d jwt-secrets.txt
JWT弱密钥暴力破解

后续操作与方式一一致

原文始发于微信公众号(无尽藏攻防实验室):JWT弱密钥暴力破解

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年12月27日12:37:48
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   JWT弱密钥暴力破解https://cn-sec.com/archives/3559458.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息