CyberCheatsheets

ffuf wenn die Wordlist falsch ist

Filter-Tuning, Rekursion und Vhost-Fehler die Web-Engagements Stunden kosten.

Veröffentlicht 2 Min. Lesezeit

ffuf mit directory-list-2.3-medium.txt, tausende 200 Treffer, Nachmittag mit CDN-Falschpositiven.

Das ffuf Cheat Sheet dokumentiert Flags. Es weiß nicht dass dein Soft-404 immer HTTP 200 mit 8 412 Bytes liefert. Die meisten Tutorials enden bei -fc 404. Produktionsapps lieben Custom-Error-Pages mit stabiler Body-Größe. Du fuzzst dann gegen eine Wand aus identischen Antworten und nennst es Erfolg weil der Statuscode grün ist.

Ich baseline immer den Lärm bevor der erste FUZZ läuft. Eine einzige Anfrage an einen garantiert falschen Pfad. Code und Bytes notieren. Diese Zahl wird dein Filter für den Rest des Tages. Ohne Baseline bist du blind und verschwendest Client-Zeit.

Größenfilter vor Statuscode

Baseline:

curl -s -o /dev/null -w "%{http_code} %{size_download}\n" https://target.example/missing-path-xyz
ffuf -u https://target.example/FUZZ -w /usr/share/wordlists/dirb/common.txt \
  -fs 8412 -mc 200,301,302 -t 40 -o ffuf-dirs.json

-fs und -fw trennen nützlichen Output von JSON-Müll.

Rekursion kostet

ffuf -u https://target.example/FUZZ -w small-api-list.txt -recursion -recursion-depth 2 \
  -fs 8412 -rate 30

Hinter WAF: -rate runter. Parallelität ist kein Tugend.

Vhost vs Verzeichnisse

ffuf -u https://10.0.0.5/ -H "Host: FUZZ.target.example" -w vhosts.txt -fs 0

Vergleiche gobuster für einfache Dir-Workflows.

Extensions und Falschpositives

-e .php,.asp,.bak bläht Treffer auf wenn der Server index.html für unbekannte Extensions liefert. Nachfiltern. -ac hilft manchmal, versteckt manchmal echte Hits weil Kalibrierung falsch war.

Drei zufällige "Misses" manuell prüfen bevor du der Filterkette vertraust.

Rekursion

-recursion mit fetter Wordlist hinter WAF Rate-Limit ist Ban vor /admin. Rekursion erst nach manuellem Hit, kleine Liste, -rate niedrig.

Output

-o file.json -of json. Pro Host benennen. Mit Auth Cookie via -b. Interessante Pfade sitzen selten auf anonymer Oberfläche.

Hinter CDN: -t runter, langsamer akzeptieren. Aggressives Parallelismus endet in IP-Ban.

Authentifizierte Bereiche sind wo es interessant wird. Cookie aus dem Browser oder Burp in -b oder -H. Fuzz hinter Login auf /api/FUZZ statt auf der Marketing-Startseite. Die Wordlist die bei OWASP-Übungen funktioniert ist selten die Wordlist die in einem Legacy-Java-Monolithen Sinn macht. Kleinere Listen aus JS-Bundles, Swagger-Leaks oder alten Tickets schlagen SecLists medium mehr als du erwartest.

Verwandte Artikel