Контакты
Подписка
МЕНЮ
Контакты
Подписка

Уязвимость в WordPress позволяет любому отключить атакуемые сайты

Уязвимость в WordPress позволяет любому отключить атакуемые сайты

Уязвимость в WordPress позволяет любому отключить атакуемые сайты


06.02.2018



В WordPress обнаружена простая, но серьезная уязвимость на уровне приложения, позволяющая вызвать отказ в обслуживании и отключить множество сайтов. Как правило, для осуществления подобной DDoS-атаки на уровне сети нужны большие объемы трафика, однако недавно обнаруженная уязвимость позволяет добиться желаемого эффекта с помощью всего лишь одного компьютера.

 Производитель отказывается выпускать исправление, поэтому уязвимость (CVE-2018-6389) присутствует практически во всех версиях WordPress, выпущенных за последние девять лет, в том числе в последнем стабильном релизе 4.9.2. Проблема была обнаружена израильским исследователем безопасности Бараком Тауили (Barak Tawily) и связана с тем, как встроенный в систему скрипт load-scripts.php обрабатывает определяемые пользователем запросы.

 С помощью файла load-scripts.php администраторы могут улучшать производительность сайтов и повышать скорость загрузки страниц путем объединения (на стороне сервера) нескольких JavaScript-файлов в один запрос. Однако для включения load-scripts.php на странице администратора (wp-login.php) авторизация не требуется, то есть, функция доступна каждому.

 В зависимости от установленных плагинов и модулей файл load-scripts.php выборочно вызывает необходимые файлы JavaScript, передавая их имена в параметр "load" через запятую, например: https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery.

 При загрузке сайта load-scripts.php (упомянутый в начале страницы) пытается найти имя каждого файла JavaScript, указанного в URL-адресе, добавить их содержимое в один файл и отправить обратно браузеру пользователя.

 По словам Тауили, злоумышленник может заставить load-scripts.php вызвать все возможные файлы JavaScript (то есть, 181 скрипт), передав их имена в URL-адресе. Таким образом атакующий сможет существенно замедлить работу сайта. Тем не менее, одного запроса недостаточно для того, чтобы полностью "положить" сайт. Поэтому Тауили использовал PoC-скрипт doser.py, отправляющий большое количество одновременных запросов на один и тот же URL-адрес, пытаясь использовать как можно больше ресурсов процессоров серверов и тем самым снизить их производительность.

 

Securitylab