2FA broken logic

Link: https://portswigger.net/web-security/authentication/multi-factor/lab-2fa-broken-logic

Description:

This lab's two-factor authentication is vulnerable due to its flawed logic. To solve the lab, access Carlos's account page.

  • Your credentials: wiener:peter

  • Victim's username: carlos

You also have access to the email server to receive your 2FA verification code.

Proof of concept:

  1. Cek fitur autentikasi

  2. Analisa request dan response pada fitur tersebut. Dari hasil analisa didapati terdapat 2 Endpoint login, yang pertama adalah untuk memasukan username & password dan endpoint ke 2 untuk memasukan MFA-Code. Dari hasil analisa juga didapati, pada saat berhasil memasukan username & password yang valid akan mendapati session dan verify yang berisi username yang akan login nantinya

  3. Login kembali menggunakan akun testing (wiener:peter). Intercept request tersebut menggunakan burp suite intercept. Lakukan “Do Intercept” pada response dari request tersebut

  4. Ubah nilai pada parameter cookie verify dari username attacker menjadi username victim. Jika sudah, kirim kembali request tersebut

  5. Maka akan masuk kedalam halaman 2FA, dimana pada halaman ini harus menginputkan code MFA yang dikirimkan ke email korban. Namun, karena tidak dapat mengakses email korban, lakukan brute force untuk mendapatkan MFA code yang valid menggunakan burp suite intruder. Code yang valid ditandai dengan elngth response yang berbeda dengan request lain dan juga ditandai dengan menggunakan HTTP status code 302

  6. Jika sudah menemukan nilai code yang valid, coba inputkan code tersebut dan berhasil mengakses akun korban

Thanks, Stay Ethical & Happy Hacking! 🍻

Last updated