【Juice-Shop】★★★ Payback Time:通过负数数量获利

【juice-shop】★★★ Payback Time:通过负数数量获利

0x01 任务简报

提交一个让你变得更富有的订单。


0x02 实战:复现漏洞

💡 前置思路

  1. 让商品单价在结算的时候变成负数
  2. 让商品数量在结算的时候变成负数

这会导致订单总额为负,系统反向扣款,用户反而获得金额。


💰 第一步:充值钱包余额

首先,从不存在的信用卡搞点钱

充值页面

添加信用卡

充值确认

充值成功

🛒 第二步:正常购买一次商品

添加商品到购物车,进行一次正常的购买流程,捕获请求包。

购物车请求

请求体分析

📊 第三步:分析请求参数

观察请求体中的关键参数:

  • ProductId — 商品 ID
  • BasketId — 购物车 ID
  • quantity — 数量(关键字段)

💉 第四步:篡改数量为负数

将请求发送到 Repeater,修改 quantity 字段为负数(如 -1):

篡改数量

发送请求,成功在购物车中添加负数数量的商品。

添加成功

💵 第五步:结账获利

查看购物车,订单总额已变为负数。

负数订单

进行结账,系统反向扣款,账户余额增加,挑战完成。