By default, Gobuster considers status codes like 200, 204, 301, 302, and 307 as positive matches. You can modify this behavior:
-t, --threads : Number of concurrent threads (Default is 10; increase for speed, decrease to avoid crashing targets).
Gobuster sends HTTP requests with Host headers from the wordlist and captures any non-404 responses.
Gobuster remains the standard for speed and reliability. Updating your syntax to match version 3.x ensures your scans run smoothly and you don't miss critical vulnerabilities hidden behind virtual hosts or specific file extensions. gobuster commands upd
To use Gobuster effectively, you must pair a mode with a target and a wordlist. Directory Discovery gobuster dir -u http://target.com -w /path/to/wordlist.txt -u : Specifies the target URL. -w : Points to the list of words to test. Subdomain Enumeration gobuster dns -d target.com -w /path/to/subdomains.txt -d : Specifies the target domain. File Extension Search
Unlike directory scanning, vhost scanning returns many "200 OK" statuses even for non-existent hosts. You must filter by size ( -b exclude by size).
gobuster dns -d target.com -w /usr/share/wordlists/SecLists/Discovery/DNS/subdomains-top1million-5000.txt Use code with caution. Wildcard Handling and Custom Resolvers By default, Gobuster considers status codes like 200,
--wildcard : Forces Gobuster to continue scanning if it detects a wildcard DNS deployment. 3. Virtual Host Brute-Forcing ( vhost Mode)
Since there is no internal gobuster upd command, you should update the tool using your system's package manager or Go directly. Using Go (Recommended)
| Error Message | Likely Cause | Solution | |---------------|--------------|----------| | The server returns a status code that matches the provided option | Wildcard 404 detection | Use --wildcard flag or manual check with -b 404 | | context deadline exceeded | Request timeout | Increase --timeout 30s | | invalid URL format | Missing protocol | Use http:// or https:// in -u | | wordlist is empty | Wrong path | Check ls -la /your/path | | too many open files | High threads on low RAM | Reduce -t to 20 or 30 | | no such host | DNS resolution fail | Use --resolver 1.1.1.1 | Gobuster remains the standard for speed and reliability
| Mode | Command | |------|---------| | Directory | gobuster dir -u URL -w wordlist.txt | | Directory (with extensions) | gobuster dir -u URL -w wordlist.txt -x php,txt,html | | Directory (status whitelist) | gobuster dir -u URL -w wordlist.txt -s 200,301,302 | | Directory (status blacklist) | gobuster dir -u URL -w wordlist.txt -b 404,403 | | Directory (recursive) | gobuster dir -u URL -w wordlist.txt -r | | Directory (cookies) | gobuster dir -u URL -w wordlist.txt --cookie "session=abc" | | DNS | gobuster dns -d domain.com -w subdomains.txt | | DNS (show IPs) | gobuster dns -d domain.com -w subdomains.txt -i | | DNS (custom resolver) | gobuster dns -d domain.com -w subdomains.txt -r 8.8.8.8 | | VHost | gobuster vhost -u URL -w vhosts.txt | | S3 | gobuster s3 -u bucketURL -w bucket-names.txt | | Help | gobuster help or gobuster help <mode> |
gobuster dir -u http://target.com -w /usr/share/wordlists/dirb/common.txt -x php,html,txt,js,bak -t 50 -o results.txt