Flawed enforcement of business rules | Dec 19, 2022
Introduction
Welcome to my another writeup! In this Portswigger Labs lab, you'll learn: Flawed enforcement of business rules! Without further ado, let's dive in.
- Overall difficulty for me (From 1-10 stars): ★☆☆☆☆☆☆☆☆☆
Background
This lab has a logic flaw in its purchasing workflow. To solve the lab, exploit this flaw to buy a "Lightweight l33t leather jacket".
You can log in to your own account using the following credentials: wiener:peter
Exploitation
Home page:

Login as user wiener:


In here, we can see that there is a code: NEWCUST5.
Let's try to buy the leather jacket:


Then go to /cart page:

Now, let's try to apply the NEWCUST5 coupon:


Now the total price is reduced by 5 dollars!
Hmm… What if we can apply infinite amount of that coupon??

Well, we can't do that. Let's remove that item from our cart.
After poking around the web site, I found that there is a newsletter subscription:

Let's try to sign up!


We have 1 more coupon! SIGNUP30
Hmm… Let's add the leather jacket to our cart, and test the coupon again:

Again, let's try to apply the coupon again:

Wait what? We can apply duplicate coupons!**
Let's apply those coupons until the total price is below $100.00!

Let's click the Place order button!

We did it!
What we've learned:
- Flawed enforcement of business rules