01Directory enumeration
Vind directories op de webserver. Het fundament van elke web pentest. Begin hier.
FUZZ wordt automatisch toegevoegd aan het pad
Gebruik picker links of typ pad handmatig
40 = default. Lager voor CTF (10-20), hoger voor stevige targets
Filter responses met deze byte-grootte. Gebruik bij veel ruis
02File enumeration met extensions
Zoekt bestanden zoals config.php, backup.bak, admin.old. Hier liggen vaak de credentials.
FUZZ wordt automatisch toegevoegd aan het pad
03Recursive enumeration
Vond /admin, /api en /uploads? Recursieve mode duikt er automatisch in. Pas op met diepte.
2 = gangbaar. Hoger = exponentieel meer requests
04Virtual Host fuzzing
Eén IP kan meerdere websites hosten via de Host-header. Veel pentesters missen dit en slaan hele apps over.
Hostname, niet IP. Voeg target.thm toe aan /etc/hosts
FUZZ wordt hier de subdomein-prefix
VEREIST. Doe eerst curl naar fake vhost om baseline op te halen
Baseline ophalen
Voor vhost / parameter fuzzing kun je niet op status code filteren (alles geeft 200). Je moet op response-grootte filteren.
Stap 1: doe een request met een gegarandeerd niet-bestaande waarde:
curl -s -H "Host: doesnotexist123.target.thm" http://target.thm/ | wc -c
Stap 2: die byte-count vul je in bij Filter size.
05Subdomain enumeration (DNS-based)
Anders dan vhost: hier resolved de subdomein via DNS. Werkt op echte domeinen, niet op /etc/hosts setups.
FUZZ wordt subdomein. Bv FUZZ.example.com
06GET parameter fuzzing
Hidden parameters zijn de toegangspoort naar LFI, SQLi en command injection. Cruciaal voor CPTS.
Specifieke pagina, geen wildcard nodig
Waarde die wordt meegegeven aan elke parameter
VEREIST. Doe curl naar endpoint met fake param voor baseline
07POST parameter fuzzing
Voor form POST endpoints. Login pages, search forms, API endpoints met body data.
JSON: {"FUZZ":"test"}
08Login bruteforce (clusterbomb)
Combineert username + password lijsten in alle combinaties. Twee wordlists tegelijk.
Pas veldnamen aan op de echte form (inspect via browser)
Filter de "failed login" status. 200 met error op pagina? Gebruik -fs of -fr
09Extension fuzzing
Je kent de filename (index, admin, config) maar niet de extensie. Fuzz de extensie om backup files en alternatieve versies te vinden.
Basis URL zonder bestandsnaam
Bestandsnaam zonder extensie. Bv: index, admin, config, backup
web-extensions.txt is een goede default (bevat al de punt voor de extensie)
Hoe het werkt
De tool genereert filenameFUZZ (zonder punt). De wordlists bevatten zelf al de punt: .php, .bak, .old. Resultaat: admin.php, admin.bak, etc.
Gevonden index.php tijdens directory enum? Check of er ook .bak, .old, .swp varianten bestaan. Vaak goudmijn voor source disclosure.
JSON voor parsing/scripting, CSV voor Excel, MD voor rapporten
Bestandsnaam zonder extensie (wordt automatisch toegevoegd)
Burp Suite default: 127.0.0.1:8080. Stuurt alleen matches door, niet alle requests
Stuurt ALLE requests door de proxy. Trager maar volledige inspectie
Max requests per seconde. Belangrijk voor live targets / WAF evasion
Seconden tussen requests. Random range mogelijk: 0.1-1.0
Eén header. Voor meerdere: gebruik komma-scheiding
Sessie cookies voor authenticated fuzzing
Generated command