Риск: Средний 6.5 Medium CWE-307: Improper Restriction of Excessive Authentication Attempts

Включенный XML-RPC в WordPress: угроза брутфорса и DDoS-атак

Файл xmlrpc.php исторически использовался для удаленного управления сайтом через мобильные приложения и сторонние сервисы.

Злоумышленники используют метод system.multicall для проверки сотен паролей за один HTTP-запрос, обходя стандартные плагины ограничения попыток входа.

Степень критичности и чем опасна уязвимость

Высокая скорость подбора паролей и паразитная нагрузка на базу данных. Данный вектор также активно эксплуатируется злоумышленниками для проведения распределенных атак типа Denial of Service (DDoS) на сторонние интернет-ресурсы через функцию pingback.ping.

Вектор атаки: Автоматизированные сканеры и поисковые ботнеты постоянно исследуют интернет по данной сигнатуре. При обнаружении уязвимости атака запускается в автоматическом режиме без участия человека.

Как наш сканер находит эту уязвимость

Site Check проверяет доступность файла /xmlrpc.php на сервере.

Проверка периметра CMS WordPress включает бережный опрос стандартных служебных путей (/wp-json/, /xmlrpc.php, /wp-content/plugins/) для определения векторов утечки версий плагинов, имен авторов и отладочных логов без создания нагрузки на базу данных MySQL.

Как устранить уязвимость (Пошаговое руководство)

Для ликвидации риска выполните следующие действия в конфигурации вашего сервера или приложения:

Блокировка xmlrpc.php на уровне Nginx
      # Блокировка XML-RPC в Nginx:
location = /xmlrpc.php {
    deny all;
    return 403;
}
    
  • Заблокируйте файл xmlrpc.php на уровне Nginx или Cloudflare.
  • Если XML-RPC не используется для сторонних интеграций, отключите его плагином.

Анатомия атаки и реальные последствия для проекта

Интерфейс xmlrpc.php уязвим к атакам усиления перебора паролей (system.multicall) и генерации DDoS-атак через функцию pingback.ping, перегружая сервер тысячами запросов.

Финансовые и юридические риски: Файл xmlrpc.php позволяет злоумышленникам отправлять метод system.multicall и перебирать сотни комбинаций логинов и паролей за один HTTP-запрос, обходя стандартные лимиты попыток входа.

Влияние на соответствие стандартам: Несоответствие стандартам безопасности веб-приложений OWASP Top 10 (A07:2021 Identification and Authentication Failures).

Матрица эшелонированной защиты (Defense-in-Depth)

Уровень защиты Техническое действие Инструмент / Механизм
Веб-сервер Nginx Полный запрет доступа к файлу xmlrpc.php (location = /xmlrpc.php { deny all; return 404; }) Nginx deny directive
WAF / Cloudflare Создание правила фаервола Managed Challenge или Block для URI path /xmlrpc.php Cloudflare WAF Rule
Плагины безопасности CMS Отключение поддержки протокола XML-RPC через плагин Disable XML-RPC WP Security Plugin

Верификация устранения: команды для быстрой проверки

После внесения изменений в настройки сервера или исходный код приложения проверьте отсутствие уязвимости с помощью терминальных утилит:

Терминал: Проверка эндпоинта и заголовков ответа
curl -I -s https://ваш-домен.com/xmlrpc.php | grep "HTTP/"
# Ожидается 403 или 404
    

Рекомендации DevSecOps для безопасного развертывания

Заблокируйте доступ к xmlrpc.php в Nginx: location = /xmlrpc.php { deny all; return 404; }.

Контрольный чеклист инженера безопасности:
  • ✓ Отключить протокол xmlrpc.php через конфигурационный файл веб-сервера Nginx
  • ✓ Ограничить публичный доступ к эндпоинту /wp-json/wp/v2/users для анонимных клиентов
  • ✓ Запретить выполнение PHP-скриптов в директории загрузок /wp-content/uploads/
  • ✓ Включить автоматические обновления безопасности ядра WordPress и плагинов

Часто задаваемые вопросы по устранению

Используется ли XML-RPC современными сервисами?
Устаревший протокол XML-RPC практически не применяется современными интеграциями, которые перешли на защищенный REST API.
Каковы риски DDoS через xmlrpc.php?
Через функцию pingback.ping атакующие могут превратить ваш сервер в участника распределенной амплификационной атаки на сторонние ресурсы.
Экспертное резюме инженера по информационной безопасности

Экосистема WordPress часто подвергается массированным автоматизированным сканированиям. Отключение неиспользуемого протокола XML-RPC, сокрытие REST API эндпоинта пользователей и регулярное обновление тем и плагинов снижают риск компрометации сайта на 95%.

Для предотвращения вектора «Включенный XML-RPC в WordPress: угроза брутфорса и DDoS-атак» зафиксируйте проверочные правила в CI/CD пайплайне и настройте непрерывный мониторинг внешнего периметра через Site Check.