学徒-水平权限提升-重定向数据泄露
# 实验室:由请求参数控制的用户ID,重定向中的数据泄漏
# 题目
此实验室包含一个访问控制漏洞,在重定向的响应正文中将会泄露敏感信息。
要解决实验室问题,请获取用户carlos
的 API 密钥并将其作为解决方案提交。
你可以使用以下凭据登录到自己的帐户:wiener
:peter
- name: 实验室-学徒
desc: 由请求参数控制的用户ID,重定向中的数据泄露 >>
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/access-control/lab-user-id-controlled-by-request-parameter-with-data-leakage-in-redirect
bgColor: '#001350'
textColor: '#39d50c'
1
2
3
4
5
6
2
3
4
5
6
# 实操
根据题意,可得实验目标:
- 利用访问控制漏洞,在重定向的响应正文中寻找敏感信息,获取 carlos 用户的 API 密钥并提交。
点击 “ACCESS THE LAB” 进入实验室。

点击 “My account” 进入登录界面。

输入题目中提供的用户名和密码wiener
:peter
进行登录。

登录成功。
URL 中存在id
参数,尝试将原来的 wiener 修改为 carlos ,然后访问。

访问?id=carlos
的时候被重定向到了登录界面,访问失败。

随后看一看请求数据包。
这是登录数据包,302 跳转没啥毛病对吧。

这是?id=carlos
的请求数据包,也是 302 跳转,但是......响应的内容是不是太多了点?
和 登录数据包 对比一下,登录之后直接跳转,没有响应内容。
再看当前请求,虽然跳转了,但响应貌似返回了一个页面的内容?

查看响应内容,发现了 carlos 用户的账户信息,以及他的 API 密钥。
(跳转就跳转嘛,还送啥页面呀,太客气了。)

复制 carlos 用户的 API 密钥。
点击上方的 “Submit solution” 打开提交窗口,填入刚刚复制的密钥,然后点击 “确定” 。

提交正确,实验完成。

编辑 (opens new window)