Skip to content

Commit 15b0c25

Browse files
author
p4fg
committed
Added hints on fuzzing multiple domains smarter
1 parent 7207c74 commit 15b0c25

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

_posts/2020-08-29-everything-you-need-to-know-about-ffuf.markdown

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,6 +260,30 @@ ffuf -u https://W2.io/W1 -w ./wordlist.txt:W1, ./domains.txt:W2
260260

261261
This would scan each of the domains in our `domains.txt` files using the wordlist from `wordlist.txt`, allowing us to run at scale without needing the use of outside scripting or applications.
262262

263+
The order of the wordlists control in what order the requests are sent. In clusterbomb mode (default) ffuf will iterate over the entire first wordlist before moving on to the second item in the second wordlist.
264+
265+
Why does this matter you wonder? Let me give you an example:
266+
267+
Lets say we have a wordlist with 1000 domains `domains.txt` and a wordlist with 1000 directories `wordlist.txt`.
268+
269+
If we run:
270+
```
271+
ffuf -u https://FUZZDOMAIN/FUZZDIR -w ./wordlist.txt:FUZZDIR, ./domains.txt:FUZZDOMAIN
272+
```
273+
274+
ffuf will try every directory for the first domain, then every directory on the second domain.
275+
When running with many threads, this means sending 1000 requests to the same server in a very short amount of time.
276+
This often leads to getting rate-limited or banned.
277+
278+
If we on the other hand swap the order of the wordlists and run:
279+
```
280+
ffuf -u https://FUZZDOMAIN/FUZZDIR -w ./domains.txt:FUZZDOMAIN, ./wordlist.txt:FUZZDIR
281+
```
282+
283+
ffuf will try the first directory on all domains, before moving on to the next directory and trying that on all domains.
284+
This way you can send more requests without overloading the target servers.
285+
286+
263287
## Wordlist Parameter Bug
264288

265289
In older versions of FFUF there is a bug here whereby the `w` flag needs to be made use of multiple times for this to work as intended. If you receive the error:

0 commit comments

Comments
 (0)