---
# System prepended metadata

title: 2FA broken logic
tags: [Authentication]

---

# 2FA broken logic

* Bài lab này yêu cầu chúng ta bypass 2FA. Trước tiên chúng ta sẽ thực hiện từng bước đăng nhập với account `wiener:peter` được cấp. Sau khi đăng nhập vào là màn hình yêu cầu chúng ta nhập security code.
![Capture01](https://hackmd.io/_uploads/ByJc50II6.png)

* Chúng ta vào Email client để tìm mail chứa security code.
![Capture02](https://hackmd.io/_uploads/Byyqq0L86.png)

* Sau khi nhập security code và nhấn Submit, chúng ta đăng nhập thành công và ở màn hình My Account.
![Capture05](https://hackmd.io/_uploads/H11c9CUIp.png)

* Kiểm tra Proxy bằng Burp Suite, ta thấy có một request `GET /login2` dùng để yêu cầu gửi mail chứa security code sau khi đã xác thực user. Gửi request này đến Repeater.
![Capture03](https://hackmd.io/_uploads/rkJqc0LU6.png)

* Chỉnh sửa từ `wiener` thành `carlos` và gửi. Việc này để lừa hệ thống gửi security code đến email của account `carlos`.
![Capture04](https://hackmd.io/_uploads/B1yqcR8IT.png)

* Ngoài ra ta còn thấy request `POST /login2` để gửi request chứa security code để xác thực. Ta sẽ dùng request này để brute-force security code của account `carlos`.
![Capture06](https://hackmd.io/_uploads/ryy59C8Lp.png)

* Gửi request đến Intruder và đặt vị trí payload ở mfa-code.
![Capture07](https://hackmd.io/_uploads/rykq50LIa.png)

* Payload ở đây là dạng số tự nhiên từ 0 đến 9999. Tiến hành brute-force.
![Capture08](https://hackmd.io/_uploads/H1y55R8U6.png)

* Kết quả là security code của account `carlos` là 1088.
![Capture09](https://hackmd.io/_uploads/rJk99RL86.png)

* Dùng Repeater để gửi request `POST /login2` với username là `carlos` và security code là 1088.
![Capture10](https://hackmd.io/_uploads/HJycq0ULp.png)

* Đã vào được trang My Account của `carlos`. Hoàn thành bài lab.
![Capture11](https://hackmd.io/_uploads/ryyq9CL8a.png)
