Password brute-force via password change
Last updated
Was this helpful?
Last updated
Was this helpful?
After logging in with the provided credentials (wiener:peter
), the first step is to explore the application's behavior. I navigate to the Change Password section under My Account.
I observe that the form includes fields for the current password, new password, and confirmation of the new password.
Step 2: Testing Validation
To understand how the application handles input errors, I perform a series of tests:
Mismatched New Passwords
Enter a correct current password but intentionally input mismatched new passwords.
Result: The application throws an error: "New passwords do not match."
Incorrect Current Password
Enter an incorrect current password while inputting valid new passwords.
Result: The application throws an error: "Current password is incorrect."
From these tests, I notice two distinct behaviors:
When the current password is valid but the new passwords mismatch, the error is about mismatched new passwords.
When the current password is invalid, the error explicitly says it is incorrect.
This differentiation can be exploited in a brute-force attack:
We attempt various passwords as the current password while using intentionally mismatched new passwords.
A response indicating mismatched new passwords implies the current password was correct.
To brute-force the current password, I:
Send a sample password change request to Burp Suite.
Replace the username field with carlos
to target their account.
Mark the current password as a payload position for the attack.
Use two mismatched new passwords to generate a distinguishable response.
After the attack completes, filter the responses by content length.
Identify the response with a differant length
The associated payload reveals the correct current password for Carlos's account.
Using the retrieved password (qwerty
), I log in to Carlos's account and confirm access to the My Account page.