Перейти к содержанию

ffuf


Инструмент для фаззинга, аналогичый gobuster, feroxbuster и им подобных. Лично мне кажется менее производительным чем gobuster. Однако, в отличии от указанных инструментов имеет более широкий спектр приминения, не ограничиваясь перебором директорий, поддоменов и виртуальных хостов.

Позволяет подставить значение из словаря вместо ключевого слово FUZZ в любой запрос, заголовок, адрес и т.д.:

ffuf -w /usr/share/wordlists/SecLists/Usernames/Names/names.txt \
-X POST -d "username=FUZZ&email=x&password=x&cpassword=x" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u http://supersite.com/customers/signup \
-mr "username already exists"
здесь mr - regexp который ожидается в случае неудачи.

В случае если используется несколько словарей, каждому из них присваивается имя ( W1 в этом примере):

ffuf -w valid_usernames.txt:W1,\
/usr/share/wordlists/SecLists/Passwords/Common-Credentials/10-million-password-list-top-100.txt:W2 \
-X POST -d "username=W1&password=W2" \
-H "Content-Type: application/x-www-form-urlencoded" \
-u http://supersite.com/customers/login \
-fc 200
здесь fc означает, что в случае неудачи не должен возвращаться код 200

Отдельно отмечу, что удобно построена работа по фаззингу вирутальных хостов через HTTP заголовки, которая позволяет отфильтровать страницы с неподходящим размером
Подробнее на GitHub