Как работает тест на проникновение
Penetration Test — проверка обхода систем защиты сайта
Что делает этот инструмент
Инструмент имитирует поведение поискового робота Яндекса, чтобы проверить, не раздаёт ли ваш сайт секретные данные тем, кого не должен пускать. Многие системы защиты (WAF) настроены так, что для «своих» (поисковиков) открывают всё. Мы проверяем 7 сценариев маскировки и сканируем 34 потенциально опасных файла, чтобы найти слабые места в конфигурации.
7 методов обхода защиты
Мы передаём заголовок Referer: https://ya.ru, чтобы сайт думал, что переход произошёл с поисковика. Многие плагины защиты безоговорочно доверяют этому заголовку и открывают доступ.
Мы притворяемся, что запрос идёт с самого сайта. Некоторые системы блокируют внешние переходы, но забывают про внутренние. Этот тест находит дыры в логике «свой-чужой».
Подменяем User-Agent на бота Яндекса: Mozilla/5.0 (compatible; YandexBot/3.0). Многие WAF проверяют только этот параметр, чтобы отличить робота от человека.
Отправляем заголовки X-Forwarded-For и X-Real-IP с IP-адресом самого сайта. Сервер думает, что запрос идёт от себя же, и пропускает его.
Эмулируем запрос с технического IP робота Яндекса: 213.180.203.212. Многие серверы имеют белый список IP поисковиков и пускают их без дополнительных проверок.
Комбинируем подмену Referer на домен сайта и IP Spoof на IP этого же домена. Двойная маскировка для систем, которые проверяют оба параметра одновременно.
Объединяем все методы сразу: User-Agent YandexBot, IP Яндекса 213.180.203.212, заголовок Host и служебный заголовок From: support@search.yandex.ru. Если сайт открывается при таком запросе — защита полностью отсутствует.
Технические детали сканирования
Все запросы выполняются по HTTP/1.1. Это позволяет отслеживать каждый шаг редиректов (301, 302) и анализировать ответы сервера без загрузки тяжёлых файлов.
Сканируем критические файлы: .env, phpinfo.php, логи, бекапы, конфиги WordPress и другие потенциально опасные пути.
Каждый запрос имеет ограничение в 10 секунд. Если сервер не отвечает — файл помечается как недоступный (Timeout). Это защищает сканер от зависания.
Как читать результаты
В колонке «Статус» вы видите цепочку кодов ответа сервера. Если последний код в цепочке 200 — файл доступен и это уязвимость. Коды 403, 404, 500 означают, что файл скрыт или защищён. Зелёный бейдж 200 в результатах — повод проверить настройки безопасности.