# Bypassing rate limits via race conditions
* Bài lab này có gợi ý cho chúng ta có lỗ hổng race condition ở tính năng login. Yêu cầu của bài lab là chúng ta sẽ khai thác lỗ hổng race condition để login vào account của user `carlos`, vào Admin panel và xóa user `carlos`. Trước tiên ta sẽ kiểm tra tính năng login trước, như hình dưới, nếu chúng ta login sai quá 3 lần thì account sẽ bị khóa.

* Để kiểm tra kĩ hơn, ta sẽ gửi 20 request `POST /login` đến Repeater và nhóm chúng lại. Dùng **Send group (parallel)** để gửi 20 request cùng lúc. Sau khi gửi, chúng ta sẽ thấy được dù sử dụng account không tồn tại nhưng số response có phản hồi **Invalid username or password** lại khá nhiều dù đã login sai hơn 3 lần.

* Bây giờ chúng ta sẽ brute-force password của user `carlos`. Ta sẽ dùng Turbo Intruder để gửi request nhanh hơn, đặt vị trí payload ở password và chọn `race-single-packet-attack.py`. Chúng ta sẽ chỉnh sửa lại để phù hợp với bài lab. Copy danh sách pasword vào Clipboard và nhấn **Attack**.

* Kết quả trả về có 1 request có status code là `302`. Đây chính là password cần tìm.

* Sử dụng password để đăng nhập account của user `carlos`.

* Vào Admin panel và xóa user`carlos`. Hoàn thành bài lab.

