描述
要解决这个实验室问题,找到并利用一个批量赋值漏洞来购买 Lightweight l33t 皮夹克。您可以使用以下凭据登录您自己的账户:wiener:peter。
所需知识:
要解决这个实验室问题,您需要了解以下内容:
- 什么是批量赋值。
- 为什么批量赋值可能导致隐藏的参数。
- 如何识别隐藏的参数。
- 如何利用批量赋值漏洞。
这些内容在我们的 API 测试学院主题中有涵盖。
进入实验室
解决方案
1、 在 Burp Suite 的浏览器中,使用凭据 wiener:peter 登录应用程序。
2、 点击 Lightweight "l33t" 皮夹克产品,并将其添加到您的购物篮中。
3、 转到您的购物篮,并点击 Place order。注意到您没有足够的信用来购买此产品。
4、 在 Proxy > HTTP history 中,注意到 /api/checkout 的 GET 和 POST API 请求。
5、 注意到 GET 请求的响应包含与 POST 请求相同的 JSON 结构。观察到 GET 响应中的 JSON 结构包括一个 chosen_discount 参数,而在 POST 请求中却没有这个参数。
6、 右键点击 POST /api/checkout 请求,选择发送到 Repeater。
7、 在 Repeater 中,将 chosen_discount 参数添加到请求中。JSON 应如下所示:
{ |
8、 发送请求。注意到添加 chosen_discount 参数不会引发错误。
9、 将 chosen_discount 的值更改为字符串 "x",然后发送请求。观察到这会导致错误消息,因为参数值不是一个数字。这可能表明用户输入正在被处理。
10、 将 chosen_discount 百分比更改为 100,然后发送请求以解决实验室问题。
最后,大家加油。