【juice-shop】★★★★ Christmas Special:通过 SQL 注入订购已删除商品
任务简报
🎯 挑战目标订购 2014 年圣诞节特别优惠商品。
💡 官方提示 (Hints)1. 了解应用程序如何处理不可用商品并试图找到漏洞。
2. 了解该应用程序如何向客户隐藏已删除的产品。
3. 尝试构造一条攻击字符串,使已删除的产品重新可见。
4. 您需要将已删除的商品加入购物车并触发结账流程。
5. 上述两种方式均无法通过应用程序前端实现,甚至可能需要采用(半)盲注 SQL 注入技术。
实战:复现漏洞
步骤1:获取 SQL 注入 Payload
如果你已完成 Database Schema 挑战,可以直接使用该 Payload:
|
|
Payload 说明:
1- 闭合原始的 ID 参数'))- 闭合原始的 SQL 语句--- SQL 注释符,忽略后续代码
如果未完成该挑战,可以通过以下方式构造:

步骤2:识别目标商品
访问应用的商品列表,寻找 2014 年圣诞节特别优惠商品。
识别方法:
- 使用搜索功能搜索 “Christmas”(中文用户搜索“圣诞”)
- 查看商品详情页面的 ID 号
- 记录目标商品的 ID(本例中为 ID: 10)

步骤3:获取添加购物车的请求
- 注册并登录一个账户
- 将任意一个可用商品添加到购物车
- 使用 Burp Suite 或浏览器开发者工具抓包
- 找到添加购物车的 POST 请求

步骤4:注入 SQL 绕过
在 Burp Suite 的 Repeater 中修改请求,并发送

步骤5:验证商品已添加到购物车
访问购物车页面,查看已删除的圣诞节商品是否成功添加。

步骤6:完成结账流程
- 进入购物车
- 点击"结账"按钮
- 填写收货地址和支付信息
- 提交订单(可以使用虚假的信用卡信息)

挑战完成! 🎉