Уязвимость открытого перенаправления open redirect через параметр goto в 1С-Битрикс: Управление сайтом относится к классу CWE-601. Служебные скрипты статистики переходов вроде /bitrix/redirect.php и /bitrix/rk.php принимают внешний URL и возвращают браузеру перенаправление. Без контроля адреса такой механизм превращает сайт на 1С-Битрикс в удобный прокси для фишинга.
Функция создавалась для маркетинга и аккуратного переезда страниц: баннеры и старые ссылки ведут на служебный скрипт, который по параметру goto отправляет пользователя дальше. Если этот параметр можно задавать произвольно, злоумышленник формирует ссылку вида:
https://bank.example/bitrix/redirect.php?goto=https://phish.example/login
Пользователь видит домен доверенного банка, кликает по ссылке и незаметно попадает на поддельную страницу авторизации.
Механика уязвимости goto в 1С-Битрикс
Типичный скрипт перенаправления в CMS принимает запрос HTTP GET с параметром goto и отвечает кодом 3xx с заголовком Location, в котором указан переданный адрес. Если скрипт не сверяет домен и не подписывает ссылку, он реализует open redirect злоумышленник может использовать доверенный домен как «переходник» на любой ресурс.
В 1С-Битрикс это проявляется в системных файлах click.php, rk.php, redirect.php, которые обрабатывают параметры рекламных переходов и статистики, но при неправильной настройке или устаревшей версии позволяют передавать во внешний URL произвольный адрес. Массовые обращения вида /bitrix/rk.php?goto=... фиксировались на реальных проектах и приводили как к фишингу, так и к росту нагрузки на базу данных.
Практические сценарии эксплуатации
- Фишинговые письма и мессенджеры. В письме используется ссылка на домен жертвы с параметром goto, указывающим на поддельный сайт, что повышает успешность атаки.
- Злоупотребление аналитикой и SEO. Боты массово обращаються к rk.php и redirect.php, формируя тысячи переходов на сомнительные ресурсы и ухудшая репутацию сайта донора.
- Цепочки атак. Перенаправление через доверенный домен используют как шаг в сложной цепочке, например для обхода фильтрации WAF или трекинга.
Негативный эффект: сайт формально «не взломан», но активно участвует в чужих атаках.
Инструменты и команды для обнаружения
Базовую проверку можно выполнить с помощью утилиты curl, наблюдая заголовок Location. Если указанный внешний адрес возвращается без предупреждения, редирект открыт.
curl -I "https://victim.example/bitrix/redirect.php?goto=https://attacker.example/"
В уязвимом варианте вы увидите ответ HTTP 302 и заголовок Location: https://attacker.example/. Это прямой признак того, что параметр goto никак не ограничен.
Для автоматизированного поиска удобно использовать nmap со скриптом http-open-redirect. Установка в типичной системе Debian/Ubuntu:
sudo apt update && sudo apt install nmap
Сканирование сайта выполняется так:
nmap --script=http-open-redirect -p 80,443 victim.example
Если скрипт обнаружит связку вида /bitrix/redirect.php?goto=, он выведет соответствующую строку и подтвердит наличие open redirect на стороне приложения.
Методы закрытия уязвимости
Первый уровень защиты в рамках CMS 1С-Битрикс обеспечивает модуль Проактивная защита. В административной панели включают функцию Защита редиректов от фишинга и на вкладке параметров активируют методы проверки заголовков и цифровой подписи ссылок. Тогда при переходе по ссылке с параметром goto пользователь видит информирующую страницу, а попытки подмены заносятся в журнал безопасности.
Если статистика переходов через click.php, rk.php и redirect.php не используется, более радикальный, но эффективный вариант — удалить эти файлы или ограничить к ним доступ на уровне web-сервера, например правилами .htaccess или конфигурацией Nginx. Важно оценить влияние на существующие рекламные кампании перед таким шагом.
Дополнительную защиту дают обновление продукта до актуальной версии, регулярный аудит конфигурации и включение остальных механизмов Проактивной защиты, чтобы уязвимый редирект не использовался вместе с другими ошибками конфигурации.
Поверх приложения имеет смысл развернуть внешнее решение WAF. Облачный сервис Check Risk WAF фильтрует трафик по правилам OWASP Top 10 и поведенному анализу, отслеживая подозрительные параметры перенаправления вроде goto. Даже при ошибках настройки 1С-Битрикс использование WAF Check Risk помогает предотвратить риски, связанные с уязвимостью открытого перенаправления, и не позволяет превращать сайт в удобный инструмент фишинга.