🕵️‍♂️ Обзор инструментов фаззинга для проверки веб-приложений

Обзоры

В этой статье мы узнаем о 5 удивительных инструментах фаззинга, которые могут быть использованы для целей фаззинга пентестерами веб-приложений.

Итак, давайте узнаем, как использовать некоторые удивительные инструменты для автоматизации процесса фаззинга.

Как работает фаззинг?

Фаззинг – это автоматизированный процесс, который обеспечивает ввод данных в веб-приложение, чтобы выяснить, приведет ли это к успешным или странным результатам.

Некоторые инструменты для фаззинга используют случайные символы, строки, а некоторые – списки слов.

Пентестеры веб-приложений в основном используют свои лучшие пользовательские списки слов для фаззинга своих целей.

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

Различные типы фаззинга

  • Фаззинг приложений: Application Fuzzing- важнейшая часть этой статьи, этот фаззинг в основном выполняется на десктопных приложениях, урлах, формах, RPC-запросах. Списки слов, строки и случайные символы используются для отправки запросов в приложение и ожидания их ответов.
  • Фаззинг протоколов: Protocol Fuzzzer посылает поддельные пакеты целевому приложению и действует как прокси, изменяя запросы на лету и передавая их.
  • Фаззинг форматов файла: FileFormat fuzzing относительно прост: вы предоставляете инструменту Fileformat Fuzzing образец легитимного файла приложения. После этого фаззер мутирует образец и открывает его в целевом приложении. Как только произошел сбой для любого образца, данные будут сохранены для просмотра. Поскольку произошел сбой, если вы можете контролировать поток выполнения этого сбоя, вы, несомненно, будете иметь некоторый контроль и, возможно, сможете взять приложение под контроль, если вам это удастся.

Шаги физзинга веб-приложения

  • Определите точки входа данных: Определите точки входа данных в веб-приложение, т.е. это могут быть параметры, директории и даже скрипты.
  • Выберите хороший словарь: Хороший вордлист может творить чудеса в фаззинге, в интернете есть такие словари для каждой цели. Я бы рекомендовал использовать словаври Seclists, если вы занимаетесь фаззингом веб-приложений. Выберите нужный вам вордлист из Seclists и загрузите его.
  • Fuzz – Загрузите инструмент фаззинга в соответствии с вашими предпочтениями и предоставьте ему точки ввода данных и вордлисты.

1. Ffuf

Ffuf aka Fuzz Fast You Fool – инструмент с открытым исходным кодом, написанный на языке Go, является одним из лучших инструментов для фаззинга, доступных на рынке, благодаря своей быстроте, гибкости и эффективности.

Его постоянство в новых обновлениях всегда на высшем уровне и в основном используется пентестерами и охотниками за головами во всем мире.

Рекурсивные возможности Ffuf и подбор регулярных выражений – одна из наиболее часто используемых функций среди тестеров проникновения в Интернет.

1.1 Установка Ffuf

Ffuf может быть установлен на Linux OS следующей командой :

git clone https://github.com/ffuf/ffuf 

cd ffuf

go get

go build

На Mac OS:

brew install ffuf
На Kali:
sudo apt install ffuf

1.2 Использование Ffuf

Основная команда для проверки веб-сайта с использованием вашего словаря:

ffuf -c -w /path/of/wordlist -u http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com/FUZZ

Фаззинг при подборе ответов

ffuf -c -w /path/of/wordlist -u http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com/FUZZ -mc 200,401,402,403

С включенной рекурсией

ffuf -c -w /path/of/wordlist -u http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com/FUZZ -recursion

Расширения, которые вы хотите

ffuf -c -w /path/of/wordlist -u http://checkinglogs.tk.s3-website-us.east1.amazonaws.com/FUZZ -e .html

2. Dirb

Старый добрый Dirb – это инструмент командной строки, используемый для проведения словарных атак на веб-сервер и поиска существующих файлов или каталогов путем анализа ответов.

Dirb предварительно загружен  набором словарей для простоты использования, но вы всегда можете использовать свои собственные словари для достижения лучших результатов.

Вы можете генерировать свой собственный словарь с помощью dirb-gendict, а также создавать словарь из входного HTML-файла.

2.1 Установка Dirb

На Mac OS:

wget https://downloads.sourceforge.net/project/dirb/dirb/2.22/dirb222.tar.gz

tar -xvf dirb222.tar.gz

rm dirb222.tar.gz

brew install autoconf

chmod -R 755 dirb222

cd dirb222

./configure

make

make install

На Ubuntu:

sudo apt install dirb

2.2 Использование Dirb

Основная команда для проверки веб-сайта с использованием вашего словаря:

dirb http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com /path/of/wordlist

Тихим режим, т.е. вы не увидите никакого нежелательного вывода:

dirb http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com -S

С включенной интерактивной рекурсией:

dirb http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com/ /path/of/wordlist -R

С любыми расширениями по вашему желанию:

dirb http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com /path/of/wordlist -X .html

3. GoBuster

Ранее уже был рассмотрен:

👨🦳 Сканирование сайтов на наличие интересных каталогов и файлов с помощью Gobuster

4. WFuzz

WFuzz – инструмент командной строки на базе Python – еще один инструмент, который необходимо знать, поскольку он был специально создан для оценки веб-приложений, а принцип его работы основан на очень простой концепции, т.е. он заменяет любую ссылку на ключевое слово значением заданной полезной нагрузки.

К нему также прилагаются подключаемые модули, поэтому вы можете использовать его для создания полезной нагрузки, кодирования или декодирования текста и многого другого.

Вы также можете создавать свои собственные плагины и использовать их по своему усмотрению.

4.1 Установка WFuzz

На Mac OS:

pip install wfuzz

На Ubuntu/Kali

sudo apt-get install wfuzz

Дополнительно: Выполните следующие действия, если вы столкнулись с этой ошибкой после выполнения Wfuzz : UserWarning:Pycurl is not compiled against Openssl. Wfuzz might not work correctly when fuzzing SSL sites. Check Wfuzz’s documentation for more information”.

sudo apt --purge remove python3-pycurl

sudo apt install libcurl4-openssl-dev libssl-dev

sudo pip3 install pycurl wfuzz

4.2 Использование Wfuzz

Базовая команда для проверки веб-сайта с использованием словаря путем скрытия ответов 404.

wfuzz --hc 404 -w /path/of/wordlist http://checkinglogs.tk.s3-website-us-east-1.amazonaws.com/FUZZ

брутфорс:

wfuzz -c -z file,users.txt -z file,pass.txt — sc 200 http://www.site.com/log.asp?user=FUZZ&pass=FUZ2Z

Тестирование открытого редиректа:

wfuzz -w /path/of/wordlist https://www.site.com?redirect=FUZZ

Wfuzz – это продвинутый инструмент фаззинга, поэтому если вы хотите найти XSS, LFI и другие уязвимости с помощью Wfuzz, вы всегда можете ознакомиться с его документацией по адресу https://wfuzz.readthedocs.io/en/latest/user/advanced.html.

5. Dirsearch

Ранее уже был рассмотрен:

👨🦳 Сканирование сайтов на наличие интересных каталогов и файлов с помощью Gobuster

Заключение

В этой статье мы рассмотрели 5 инструментов фаззинга, используемых для проверки веб-приложений.

Все инструменты, приведенные в этой статье, очень важны для проверки веб-приложений, и я бы посоветовал использовать как минимум два инструмента в сочетании для проверки веб-приложений.

Если вы столкнулись с проблемами при выполнении какой-либо из команд, пожалуйста, сообщите нам об этом в комментариях ниже.

¯\_(ツ)_/¯ Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

Добавить комментарий