Press enter or click to view image in full size
Business logic flaws are some of the most dangerous yet overlooked vulnerabilities in modern web applications. They don’t rely on complex payloads or advanced tools—just understanding how the application is supposed to work and finding where it doesn’t.
The application was an e-commerce platform selling premium clothing items. One particular product caught my attention:
The platform also offered multiple promotional features:
At first glance, everything looked normal.
After logging in, I added the leather jacket to my cart and moved to checkout.
The site advertised a coupon for new customers:
NEWCUST5
Applying this coupon reduced the price by $5, as expected.
I tried basic abuse techniques:
➡️ Result: Coupon reuse was blocked. So far, so good.
While browsing the site further, I noticed a newsletter signup option at the bottom of the home page.
It promised a discount for signing up.
After subscribing, I received a new coupon:
SIGNUP30
When applied at checkout, this coupon reduced the cart value by $401, effectively covering the entire jacket cost.
Join Medium for free to get updates from this writer.
This immediately raised a red flag 🚩.
Here’s where things got interesting.
1. Added the leather jacket to the cart
2. Applied NEWCUST5
3. Applied SIGNUP30 afterward
What Should Have Happened?
The application should reject multiple coupons
Or validate whether discounts exceed product value
Or restrict coupon combinations
What Actually Happened?
The application only validated the last coupon. It did not track previously applied discounts. The total price was recalculated incorrectly.
No errors. No warnings.
I proceeded to place the order.
✔️ Order confirmed
✔️ No payment required
✔️ Premium item successfully purchased for free
> Business Logic Flaw – Coupon Reuse / Coupon Stacking
This issue could lead to:
This bug wasn’t about bypassing authentication or injecting payloads—it was about thinking logically and questioning assumptions.
If you’re starting out in bug bounty hunting, business logic bugs are gold: