Post

PortSwigger - Authentication - Lab 8

Lab 8 - 2FA broken logic

Lab Objective:

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

Reference:
Port Swigger - Lab 8

Solution


1. With Burp running, log in to your own account and investigate the 2FA verification process. Notice that in the POST /login2 request, the verify parameter is used to determine which user’s account is being accessed.

2. Log out of your account.

3. Send the GET /login2 request to Burp Repeater. Change the value of the verify parameter to carlos and send the request. This ensures that a temporary 2FA code is generated for Carlos.

4. Go to the login page and enter your username and password. Then, submit an invalid 2FA code.

5. Send the POST /login2 request to Burp Intruder.

6. In Burp Intruder, set the verify parameter to carlos and add a payload position to the mfa-code parameter. Brute-force the verification code.

7. Load the 302 response in the browser.

8. Click My account to solve the lab.


This post is licensed under CC BY 4.0 by the author.