ffuf
ffuf is a fast web fuzzer written in Go that allows typical directory discovery, virtual host discovery without DNS records, and GET and POST parameter fuzzing.
Description
ffuf is a fast web fuzzer written in Go. This program is useful for pentesters, ethical hackers and forensics experts. It also can be used for security tests.
It supports fuzzing file paths, host headers, POST JSON data, and multiple locations with different wordlists and keywords. Features include matching and filtering responses based on status codes, size, lines, words, regex, and timing.
Auto-calibration, colorized output, and various output formats like JSON, HTML, and CSV are available.
How It Works
ffuf fuzzes web applications by replacing keywords like FUZZ in URLs, headers, or POST data with wordlist entries. It sends HTTP requests (GET, POST, etc.) using specified methods, headers, and protocols (HTTP/1.1 or HTTP/2). Responses are matched or filtered using criteria such as status codes, response size, line/word counts, regex patterns, or timing to first byte. Multi-wordlist modes (clusterbomb, pitchfork, sniper) enable fuzzing multiple parameters simultaneously. Auto-calibration adjusts filters based on baseline responses.
Installation
sudo apt install ffufFlags
Examples
ffuf -w wordlist.txt -u https://example.org/FUZZ -mc all -fs 42 -c -vffuf -w hosts.txt -u https://example.org/ -H "Host: FUZZ" -mc 200ffuf -w entries.txt -u https://example.org/ -X POST -H "Content-Type: application/json" -d '{"name": "FUZZ", "anotherkey": "anothervalue"}' -fr "error"ffuf -w params.txt:PARAM -w values.txt:VAL -u https://example.org/?PARAM=VAL -mr "VAL" -cffuf -hffuf -V