# Exploiting time-sensitive vulnerabilities
* Bài lab yêu cầu chúng ta khai thác lỗ hổng race condition ở tính năng đổi mật khẩu để truy cập vào Admin panel của user `carlos`. Trước tiên ta sẽ thử đổi mật khẩu của user `wiener`.

* Chúng ta đã nhận được mail reset password có chứa token trong đường dẫn.

* Chúng ta sẽ khai thác lỗi race condition với hai request `POST /forgot-password`, một với user là `wiener`, còn lại là `carlos`. Trước tiên ta cần cookie và CSRF token thứ hai cho request còn lại. Xóa dòng cookie và gửi lại request `POST /forgot-password` để lấy cookie và CSRF token mới.


* Chúng ta sẽ thay cookie và CSRF token mới vào request `POST /forgot-password` thứ hai và đổi tên username thành `carlos`. Tiến hành gửi 2 request cùng lúc, nếu tấn công thành công thì 2 request sẽ có chung một token reset password.

* Sau khi gửi request, ta vào mail để lấy đường dẫn reset password. Đổi tên username thành `carlos` và kiểm tra, nếu chưa được thì ta lặp lại bước tấn công. Như hình dưới thì chúng ta đã tấn công thành công, tiến hành đổi password.

* Sau khi login vào user `carlos`, ta truy cập vào Admin panel và xóa user `carlos`.


* Hoàn thành bài lab.
