---
# System prepended metadata

title: Single-endpoint race conditions
tags: [Race conditions]

---

# Single-endpoint race conditions

* Yêu cầu của bài lab là chúng ta sẽ khai thác lỗ hổng race condition để đổi sang email `carlos@ginandjuice.shop`. Email này là email được xác thực để trở thành admin nhưng chưa được kết nối với account nào. Đầu tiên ta login vào account được cấp.
![Capture01](https://hackmd.io/_uploads/HJ2_vOIDT.png)

* Ta sẽ thử tính năng cập nhật email, dùng email chung domain để nhận được mail bên Email client.
![Capture02](https://hackmd.io/_uploads/Sko_DOUPp.png)

* Nhận được mail confirm và ta truy cập vào link trên để đổi.
![Capture03](https://hackmd.io/_uploads/r1sdw_IPT.png)
![Capture04](https://hackmd.io/_uploads/HJo_Dd8wp.png)

* Chúng ta sẽ tiến hành khai thác lỗ hổng race condition, ta sẽ gửi cùng lúc hai request, một request chứa email có email domain của chúng ta, request còn lại chứa email `carlos@ginandjuice.shop`. 
![Capture08](https://hackmd.io/_uploads/B1idw_ID6.png)

* Nhấn gửi cho tới khi nào ta thấy được mail confirm đổi sang email `carlos@ginandjuice.shop`. Nhấn vào để đổi.
![Capture09](https://hackmd.io/_uploads/rygouvuIPT.png)

* Chúng ta đã đổi sang email `carlos@ginandjuice.shop` thành công và đã truy cập được vào Admin panel.
![Capture10](https://hackmd.io/_uploads/SJgsuw_LwT.png)

* Vào Admin panel và xóa user `carlos`. Hoàn thành bài lab.
![Capture11](https://hackmd.io/_uploads/BksOvOUDp.png)
![Capture12](https://hackmd.io/_uploads/SysOP_IDT.png)
