Authorization disclaimer. This walkthrough is limited to the intentionally vulnerable PortSwigger Web Security Academy lab linked below. Test only systems you own or are explicitly authorized to assess.
Overview
The cart remembers only the last coupon. Alternating SIGNUP30 and NEWCUST5 therefore reapplies both discounts until the $1,337 jacket falls below the $100 balance.

Lab objective/setup
This intentionally vulnerable Academy exercise isolates flawed enforcement of business rules. The supplied accounts and endpoints are used to reproduce only the source note evidence for flawed enforcement of business rules; all request changes remain inside this Academy instance.
What I observed
The cart remembers only the last coupon. Alternating SIGNUP30 and NEWCUST5 therefore reapplies both discounts until the $1,337 jacket falls below the $100 balance.



Why it is vulnerable
Discount validity is checked locally per action rather than against the final order and complete promotion history.
Walkthrough in the authorized PortSwigger lab
- Capture the baseline request for flawed enforcement of business rules and record the response that represents the intended lab workflow.
- Replay the recorded mutation that exposes flawed enforcement of business rules, keeping the session and other fields unchanged.
- Confirm the flawed enforcement of business rules signal in the response before applying the next source-documented operation.
- Complete the Academy objective using only the confirmed flawed enforcement of business rules behavior and the supplied synthetic account or product data.




Verification
The final capture shows the Academy marking the flawed enforcement of business rules exercise as solved after the documented request sequence. No testing was performed outside the isolated lab.

Impact and defensive lesson
The evidence demonstrates the concrete risk of flawed enforcement of business rules: a server-side trust decision can be bypassed through the exact input or workflow shown in this lab. For flawed enforcement of business rules, the server must enforce the exact invariant violated in the captured sequence and regression-test that mutation alongside the normal path.