Insufficient workflow validation
This lab makes flawed assumptions about the sequence of events in the purchasing workflow.
With Burp running, log in with
wiener:peterand buy any item that you can afford with your store credit.
Study the proxy history. Observe that when you place an order, the
POST /cart/checkoutrequest redirects you to an order confirmation page. Send
GET /cart/order-confirmation?order-confirmation=trueto Burp Repeater.
Add the leather jacket to your basket.
In Burp Repeater, resend the order confirmation request. Observe that the order is completed without the cost being deducted from your store credit and the lab is solved.
An attacker will need to log in, fiddle around in the order flow and buy a “Lightweight l33t leather jacket” for free.