Hintru ENES ← All labs

Cheesy Does It — Business Logic Discount Abuse (Bugforge)

EN easy CTF challenge Business LogicJSON Array InjectionCoupon AbuseParameter TamperingBurp Suite

A pizza-ordering web application on Bugforge gives registered users a single-use discount code. The flag goes to whoever can apply more discount than they should — the fix is one HTTP request away, but you'll need to think carefully about how the server interprets the input you send.

0/4
solved
👁 Step 1 Step 2 Step 3 Step 4
web

Step 4 · Manipulate How the Discount Field Is Sent

Objective: Exploit the server's failure to type-check the `discount` field by converting it from a string to a JSON array containing the coupon code multiple times, and retrieve the flag.

Context: The `toppings` field in the same request uses the format `["item","item"]`. The server may apply the same lenient parsing to any array it receives — including the `discount` field.

Progressive hints

Only reveal the ones you need. Claude tracks how many you used to calibrate the feedback.

Hint 1 — directional nudge

Look at how the `toppings` field is structured and consider whether the `discount` field could be sent in the same format.

Hint 2 — technique / vuln class

This is a JSON type-confusion / business logic flaw. Try changing the `discount` value from a string to a JSON array of strings.

Hint 3 — near solution

Change the `discount` field in the POST body from `"discount": "PIZZA-10"` to `"discount": ["PIZZA-10","PIZZA-10"]` and send the request. The server processes each array element as a separate coupon application.

Your attempt