Skip to main content

Username enumeration via subtly different responses

1

Let's click on the My account button.

2

We are proxying the traffic through Burp Suite.

Therefore we can find the login request in the Proxy > HTTP History tab.

3

Let's forward the request to the Intruder.

Once in the Intruder, let's set the payload field on the username parameter.

4

Now we have to set the payload type to Simple list. Once that is done, we can paste the usernames provided to us here in the Payloads settings section.

5

Next, in the Intruder > Settings tab, we have to go to the Grep - Extract section and clink on the Add button.

6

Inside the pop-up, select the following string:

Invalid username or password.

7

We can now start the attack.

8

As we can see, the request with the username parameter set to apps return a slightly different response, without the full stop. This means that the username worked which triggered different behaviour.

Now, we have to fuzz the password. With the username parameter set to apps, add the payload filed to the password parameter.

9

In the Payloads tab, set the type to Sin=mple list and paste the passwords provided to us.

10

Let's start the attack.

11

The request where the password parameter was set to 1111 returned a 302 response.

Now we can login using the fuzzed credentials:

UsernamePassword
apps1111

12

We have solved the lab.

13