Как определить, какой WAF защищает веб-сайт или приложение?
Этичный ХакерАтакующему всегда полезно знать, где в сети обычно используется WAF, прежде чем приступать к сбору информации.
Пентестеры должны знать о WAF до начала работы с веб-приложениями, поскольку это может повлиять на результаты их атак.
Что такое WAF?
WAF (Web Application Firewall) играет важную роль в обеспечении безопасности веб-сайта.
Они фильтруют и контролируют трафик.
Брандмауэры веб-приложений обеспечивают защиту от основных недостатков.
Многие организации модернизируют свою инфраструктуру, чтобы включить в нее брандмауэры веб-приложений.
По мнению экспертов по этическому взлому, брандмауэры веб-приложений не могут самостоятельно решить проблемы безопасности; для распознавания и блокирования внешних угроз требуется соответствующая настройка.
WAF отличается от традиционного брандмауэра тем, что он может фильтровать содержимое конкретных онлайн-приложений, в то время как традиционные брандмауэры действуют как защитный барьер между серверами.
HTTP-взаимодействие подчиняется набору правил.
Эти правила касаются типичных уязвимостей, таких как межсайтовый скриптинг и SQL-инъекции т.д.

В интернете существует множество бесплатных инструментов с открытым исходным кодом, которые могут обнаружить брандмауэры, стоящие за веб-приложениями.
В этой статье мы рассмотрим подходы и инструменты, которые можно использовать для обнаружения WAF.
Обратите внимание: в этом руководстве я использовал свой собственный сайт для перечисления деталей.
Не проводите сканирование или другие хакерские действия на любом сайте без предварительного разрешения владельца.
Обнаружение вручную
Обнаружение с помощью TELNET
Telnet в основном используется сетевыми администраторами и специалистами по тестированию на проникновение.
Telnet позволяет подключаться к удаленным узлам через любой порт, как уже говорилось ранее.
- Параметры HTTP часто оставляются (или вставляются) в заголовки ответов брандмауэрами веб-приложений.
- Telnet можно использовать для получения основной информации, такой как сервер и cookies
- Введите
Telnet Targetwebsite.com 80
telnet Targetwebsite.com 80 Trying 18.166.248.208... Connected to Targetwebsite.com. Escape character is '^]'.
После выполнения приведенной выше команды напишите HEAD / HTTP / 1.1 и нажмите клавишу ввода.
# telnet 18.166.248.208 80 Trying 18.166.248.208... Connected to 18.166.248.208. Escape character is '^]'. HEAD / HTTP/1.1 Host: 18.166.248.208 HTTP/1.1 200 OK Date: SUN, 10 Oct 2021 05:08:03 IST Server: Apache X-Powered-By: PHP/5.3.5 ZendServer/5.0 Set-Cookie: SESSIONID VULN SITE=t25put8gliicvqf62u3ctgjm21; path=/ Expires: Thu, 19 Nov 1981 08:52:00 IST Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache X-Varnish: 4723782781 Age: 0 Via: 1.1 varnish Connection: close Content-Type: text/html Connection closed by foreign host.
Он указывает сервер, на котором размещен веб-сайт, и язык back-end, на котором он был создан после использования telnet на целевом порту 80.
Некоторые системы WAF позволяют изменять этот заголовок, а также могут заставить веб-сервер отправлять HTTP-ответы, отличающиеся от стандартных.
Как показано в приведенном выше результате, веб-сервер ответил на наш запрос и показал, что межсетевым экраном/пограничным шлюзом является Varnish.
Автоматизированная разведка
#1. Обнаружение с помощью NMAP
Для этой цели также можно использовать Nmap, в котором есть скрипт, способный определить брандмауэр веб-приложения.
- Nmap – это инструмент оценки безопасности, который обычно используют многие пен-тестеры и сетевые администраторы.
- Nmap используется для получения информации о цели.
- Скрипт был запущен на ту же веб-страницу, что и раньше
- Введите команду nmap -script=http-waf-fingerprint targetweb.com
nmap --script=http-waf-fingerprint targetwebsite.com Starting Nmap 7.90 ( https://nmap.org ) at 2021-10-10 07:58 IST Nmap scan report for targetsite.com (18.166.248.208) Host is up (0.24s latency). Not shown: 982filtered ports PORT STATE SERVICE 53/tcp open domain 80/tcp open http | http-waf-fingerprint: | Detected WAF | Citrix Netscaler 443/tcp open https 5432/tcp closed postgresql 8080/tcp closed http-proxy Nmap done: 1 IP address (1 host up) scanned in 25.46 seconds
После использования приведенной выше команды Nmap был обнаружен брандмауэр Citrix Netscaler.
#2. Обнаружение с помощью Whatwaf
Whatwaf – это инструмент безопасности для информации веб-приложений и выявления наличия любого WAF.
Этот инструмент полезен для определения того, защищено ли веб-приложение WAF во время оценки безопасности.
Если это так, стратегии обхода и предотвращения могут быть полезны при дальнейшем тестировании или эксплуатации веб-приложения.
Как установить WhatWaf?
Установка на Kali-Linux:
sudo apt install python3-pip git clone https://github.com/ekultek/whatwaf cd whatwaf sudo pip3 install -r requirements.txt
При запуске, не имея версии Python, мы можем легко указать исполняемый файл:
./whatwaf --help

Использование инструмента
Инструмент для обнаружения брандмауэра Whatwaf прост в использовании!
Нам просто нужно выполнить следующую команду:
./whatwaf -u https://www.targetsite.com
Как вы можете видеть ниже, этот инструмент обнаружил брандмауэр для предоставленного URL веб-сайта.
Напоминание! – Для сканирования используете собственный сайт!

Как показано в результате выше, веб-сервер ответил на наш запрос и показал, что является брандмауэром.
Мы также можем использовать службу tor для сканирования WAF, но это может увеличить задержку.
./whatwaf -u https://www.targetsite.com --tor
Основное преимущество инструмента Whatwaf заключается в том, что он автоматически пытается передать полезную нагрузку в обход выявленного брандмауэра.
#3. Обнаружение с помощью Wafw00f
Наиболее известным инструментом для обнаружения брандмауэра веб-приложений является Wafw00f.
Wafw00f отправляет HTTP-запрос к брандмауэру веб-приложений для его идентификации.
Если отправка HTTP-запроса не удается, wafw00f делает вредоносный HTTP-запрос.
Если отправка вредоносного HTTP-запроса не удается, wafw00f изучает предыдущие HTTP-запросы и использует простой алгоритм, чтобы определить, реагирует ли брандмауэр веб-приложения на наши атаки.
Заключение
В этой статье мы рассмотрели различные стратегии и инструменты для обнаружения брандмауэров веб-приложений.
Это важное действие, которое должно выполняться на этапе сбора информации в каждом тесте на проникновение веб-приложения.
Более того, знание о наличии WAF позволяет тестеру проникновения попробовать различные подходы, чтобы обойти защиту и использовать любые дыры в онлайн-приложении.
По мнению исследователя этичного взлома, наличие брандмауэра веб-приложений (WAF) становится все более необходимым.
Анализ логов веб-приложений для обнаружения новых атак, происходящих на внутреннем сервере веб-приложений, всегда важен.
Это позволит вам настроить правила в брандмауэре веб-приложений для обеспечения максимального уровня защиты.