2FA simple bypass
Direct navigation to the account page bypasses the pending second-factor step after valid password authentication.
Posts following the same line of inquiry.
Direct navigation to the account page bypasses the pending second-factor step after valid password authentication.
Alternating valid and invalid login attempts resets the IP-based failure counter and permits continued password guessing.
A stay-logged-in cookie encodes the username alongside an unsalted MD5 password hash. Recomputing that predictable token for password candidates yields a valid cookie for Carlos's account.
A stolen persistent-login cookie reveals a weak password hash that can be cracked offline and reused for authentication.
The reset submission trusts its username field instead of binding the new password to the account that requested the token.
Attacker-controlled forwarded-host metadata poisons the emailed reset URL and sends Carlos reset token to the exploit server.
Account lockout becomes the oracle: repeated failures trigger a warning only for a real username, after which a controlled password test completes the lab.
Distinct POST /login messages separate unknown users from valid accounts with wrong passwords, providing a direct response-text signal for enumeration.
The lab's two-step login flow does not securely bind the second-factor check to the account authenticated during the password step. Instead, /login2 uses a client-controlled verify cookie to decide whose code is being checked.
Response-time differences reveal when a username reaches password verification, enabling reliable account enumeration.
A single punctuation difference in the login error reveals whether a username exists, even though the two responses otherwise look identical.