Business Logic Bugs
Tamper price, reuse coupons, break quantities.
Mission briefing
ShopWave is a flash-sale storefront with coupons and a one-click checkout. Prices and quantities arrive from hidden form fields the client can edit. Try to complete orders that should be impossible under normal business rules.
Every task in this room is done. Your rank progress just moved forward.
Objectives
- Zero-price checkout
- Reuse coupon
- Negative quantity
Task 1 Price tamper Low 10 pts
Scenario
ShopWave checkout posts item price in a hidden field the browser can edit. The server charges whatever price arrives in the form. Complete a purchase while paying zero.
Your approach
- Add an item to cart and intercept the checkout POST.
- Change the hidden price field to zero before submitting.
- Complete the order and read the confirmation page.
- Copy the price-tamper flag from the success message.
- Submit that flag.
Buy with price 0.
Open lab →Hint
Edit hidden price field to 0
Task 2 Coupon reuse Medium 10 pts
Scenario
Coupons like SAVE50 should apply only once per checkout session. The server never tracks whether a code was already used on the same cart. Stack the same discount twice on one order.
Your approach
- Start checkout with a single valid coupon applied.
- Apply the same coupon code again through the API or form.
- Confirm the total drops further than a single use allows.
- Read the coupon reuse flag on success.
- Submit that flag.
Apply SAVE50 twice.
Open lab →Task 3 Negative qty Medium 10 pts
Scenario
Quantity fields accept integers but negative values are not rejected. A negative count subtracts from the cart total instead of adding. Checkout with a quantity below zero and receive money back on paper.
Your approach
- Add a product and capture the checkout request.
- Set quantity to a negative number in the intercepted form.
- Submit and verify the order total becomes abnormally low or negative.
- Copy the negative quantity flag from the lab response.
- Submit that flag.
Checkout with negative quantity.
Open lab →