Brute Forcing Web Logins Using FFuF

A Faster, Lighter Way to Crack Web Logins.

Featured image

I once did something really stupid. During a cybersecurity certification exam, I tried to brute-force a web login page using Burp Suite’s Intruder.

What made it stupid?

I used rockyou.txt as the wordlist.

Combining Burp Suite (Java-based) with a rockyou.txt wordlist containing tens of millions of entries caused my laptop to shut down instantly.

Workaround

In the middle of that chaos, my colleague (@yuyudhn) suggested using FFuF as an alternative.

To be honest, I was already familiar with FFuF, but I had only ever used it for directory enumeration. I didn’t realize that it could be customized into a brute-force tool (like Hydra).

Tutorial

sample http login

As an example, I’ve prepared a simple application to demonstrate this in the article.

The next step is to capture the complete login request, including the HTTP headers, parameters, and the error response. To capture all of this, I (still) use Burp Suite.

Note the key things we need are:

capture the request

Since our enumeration target is the password parameter, we can simply replace its value with %PASS%. After that, save the request into a file (for example: request.txt).

capture the request 2

Once everything is ready, we can simply run FFuF using the command below.

ffuf -u http://example.com/login -request request.txt -w /usr/share/wordlists/rockyou.txt:%PASS% -fr '(error message)' -t 100 -r -v

ffuf run

The key points to understand: