ffuf (Fuzz Faster U Fool) — один из тех инструментов, которые быстро становятся незаменимыми. Когда передо мной стоит задача найти скрытые директории, эндпоинты API или подобрать параметры — ffuf мой первый выбор. И дело не только в скорости.
Что умеет ffuf
В отличие от классических инструментов вроде dirb, ffuf позволяет:
- Фаззить любую часть HTTP-запроса: URL, заголовки, тело POST, cookies
- Использовать несколько словарей одновременно
- Гибко фильтровать результаты по статусу, размеру, количеству слов
- Работать с высокой конкурентностью без потери стабильности
Базовый перебор директорий
Ключевое слово FUZZ — это место подстановки из словаря:
ffuf -u http://target.com/FUZZ -w /usr/share/wordlists/dirb/common.txt
С расширениями файлов:
ffuf -u http://target.com/FUZZ -w wordlist.txt -e .php,.html,.txt,.bak
Фильтрация результатов
По умолчанию ffuf показывает всё. Чаще всего нас интересуют только ответы 200, 301, 302. Используем фильтры:
Показывать только определённые коды ответа:
ffuf -u http://target.com/FUZZ -w wordlist.txt -mc 200,301,302,403
Скрыть ответы с определённым размером (удобно отфильтровать "заглушки"):
ffuf -u http://target.com/FUZZ -w wordlist.txt -fs 4242
Скрыть по количеству слов в ответе:
ffuf -u http://target.com/FUZZ -w wordlist.txt -fw 10
Фаззинг поддоменов (vhost)
ffuf отлично подходит для перебора виртуальных хостов — и это гораздо быстрее, чем DNS-брутфорс:
ffuf -u http://target.com -H "Host: FUZZ.target.com" -w subdomains.txt -fs 4242
Фаззинг POST-параметров
Перебор параметров при авторизации:
ffuf -u http://target.com/login -X POST -d "username=admin&password=FUZZ" -w passwords.txt -fc 401
Где -fc 401 — фильтровать ответы с кодом 401 (неверный пароль).
Несколько словарей одновременно
Используйте разные ключевые слова для разных мест подстановки:
ffuf -u http://target.com/FUZZDIR/FUZZFILE -w dirs.txt:FUZZDIR -w files.txt:FUZZFILE
Рекурсивный режим
ffuf умеет автоматически погружаться в найденные директории:
ffuf -u http://target.com/FUZZ -w wordlist.txt -recursion -recursion-depth 2
Сохранение результатов
ffuf -u http://target.com/FUZZ -w wordlist.txt -o results.json -of json
Форматы вывода: json, ejson, html, md, csv, all.
Советы из практики
Начинайте с небольших словарей (common.txt, raft-medium-directories.txt) — они дают быстрый результат. Для более глубокого исследования переходите к SecLists. Всегда устанавливайте -t (потоки) и -rate (запросов в секунду) с умом — слишком агрессивный фаззинг легко кладёт слабый сервер или вас заблокируют WAF.
ffuf -u http://target.com/FUZZ -w big.txt -t 50 -rate 100 -mc 200,301,403
Пока нет комментариев. Будьте первым!