# Limit overrun race conditions * Yêu cầu của bài lab là chúng ta sẽ khai thác lỗ hổng race condition ở tính năng thanh toán để mua được **Lightweight L33t Leather Jacket** với số tiền hiện có. Đầu tiên ta login vào account được cấp, chúng ta hiện có $50 và một mã giảm giá 20%. ![Capture01](https://hackmd.io/_uploads/H1FHiIIvT.png) * Chúng ta sẽ thêm **Lightweight L33t Leather Jacket** vào giỏ hàng và áp dụng mã giảm giá. Sau đó vào Burp Suite Proxy để kiểm tra request `POST /cart/coupon` vì có thể lỗ hổng race condition nằm ở đây. ![Capture02](https://hackmd.io/_uploads/SytSoL8Da.png) ![Capture03](https://hackmd.io/_uploads/rJKBoLUPa.png) * Chúng ta sẽ thử khai thác lỗ hổng race condition bằng cách gửi 20 request `POST /cart/coupon` đến Repeater và gom chúng lại thành 1 nhóm. Chúng ta quay lại giỏ hàng để hủy áp dụng coupon, sau đó chọn **Send group (parallel)** để gửi tất cả request trong group cùng lúc. Như ta thấy kết quả ở hình dưới có nhiều hơn 1 request trả về response là **Coupon applied**, như vậy chúng ta đã áp dụng được coupon nhiều lần. ![Capture04](https://hackmd.io/_uploads/BJYriLIDp.png) * Quay lại giỏ hàng và load lại trang web, ta thấy tổng giá hiện tại đã nhỏ hơn $50. ![Capture05](https://hackmd.io/_uploads/ByKSi8LPT.png) * Đặt hàng và hoàn thành bài lab. ![Capture06](https://hackmd.io/_uploads/r1FBoI8PT.png)