Всего их сегодня известно 6677 штук. (данные на 2018 год, сейчас может быть уже гораздо больше)
Условно все уязвимости WordPress можно разделить на несколько типов:
1. Уязвимости самой системы управления сайтом
2. Уязвимости плагинов (без которых не создать полноценный сайт)
3. Уязвимости шаблонов (темы оформления)
4. Уязвимость владельца сайта :)
1. Уязвимость системы управления сайтом (cms) Wordpress.
На 2018 год было известно всего 247 уязвимостей WordPress, касающихся непосредственно движка и не относящихся к плагинам и темам. В основном это XSS эксплойты. На 2019 год, к сожалению, пока данных мы не нашли. Но мы будем следить за этим и выпустим вторую статью :)
2. Уязвимости плагинов и шаблонов (тем оформления).
Для тем и плагинов основные уязвимости представляют собой бреши, с помощью которых можно получить несанкционированные привилегии пользователя, либо внедрить вредоносный код с использованием межсайтового скриптинга (XSS) и SQL-инъекций.
Отдельного внимания заслуживают скачанные бесплатно премиум-темы и плагины. Чаще всего они заражены и используются для черного SEO в 97% случаев заражения. Проявляется это внедрением ссылок в невидимые для пользователя блоки сайта с целью продвижения сторонних ресурсов. Остальные 3% приходятся на бэкдоры и веб-шеллы, дающие фактически полный доступ злоумышленнику к вашему ресурсу.
3. Человеческий фактор или уязвимость владельца сайта :)
Ну и последняя группа появилась благодаря действиям пользователей. Например, некоторые люди устанавливают слабый пароль, который быстро подбирается. Из-за этого открывается доступ к панели администратора, а отсюда все вытекающие. Либо после установки движка не предпринимаются необходимые меры по борьбе с дырами из коробки.
Так же, к этому пункту можно отнести обновления сайта, необходимость закрытия админки от стандартного вида, скрытия части каталогов для индексации и тд.
Одна из выдержек статьи про найденную уязвимость wordpress:
Инженер-исследователь проблем безопасности компании Secarma Сэм Томас (Sam Thomas) выступил с докладом на конференции BSides, где рассказал об уязвимости WordPress. Её обнаружили в феврале 2017 года, и дальнейшее игнорирование проблемы может привести к сбоям в работе многочисленных сайтов, использующих эту CMS.
Сэм объяснил, как злоумышленники могут навредить ресурсу. Разрешение на добавление изображений позволяет им загрузить иконку и инициировать обработку файла через распаковщик архивов phar://
. В свою очередь, эксплойт осуществит атаку XXE (XML External Entity) и вызовет ошибки SSRF (Server Side Request Forgery). Всё это приведёт к десериализации кода. Несмотря на то что из-за ошибок произойдёт незначительная утечка информации, их можно использовать для проведения более серьёзных атак. Десериализация происходит в момент, когда переменные конвертируются для PHP. При включённой автозагрузке выполнение кода нарушит работу PHP-фреймворков.
На 2018 год о проблеме было известно, но....
Март 2019
Эксперты компании Defiant предупреждают, что злоумышленники эксплуатируют XSS-уязвимость в плагине Abandoned Cart Lite for WooCommerce, установленном на 20 000 сайтов. Данный плагин позволяет администраторам и другим привилегированным пользователям просматривать «забытые» покупателями товары, в случаях, когда пользователь сложил товары в корзину, но не завершил покупку и по каким-то причинам покинул ресурс. Собранные таким образом данные, к примеру, могут быть использованы для формирования списка популярных товаров и другой аналитики.
XSS-уязвимость, которую используют преступники, позволяет положить в корзину товар с вредоносным, специально созданным названием. После этого эксплоит атакующих сохранится в БД магазина и сработает, как только на бэкэнде просмотрят эту страницу. В итоге эксплоит обратится к короткому адресу bit.ly и загрузит на уязвимый сайт JavaScript, который заразит ресурс двумя разными бэкдорами.
Первый бэкдор создает нового пользователя woouser с правами администратора, ну а дальше уже все вытекающие...
Второй бэкдор действует более изящно: он составляет список всех плагинов сайта и ищет среди них первый, отключенный настоящим администратором. Хакеры не включают этот плагин повторно, но подменяют его содержимое вредоносным скриптом. Хотя плагин остается отключенным, его файлы по-прежнему хранятся на диске, а значит, доступны для запросов, и второй бэкдор злоумышленников может быть задействован, например, если жертва обнаружит заражение и удалит учетную запись woouser.
По данным исследователей, к настоящему моменту к короткому адресу bit.ly обращались уже более 5200 раз, то есть, скорее всего, от данных атак пострадали уже сотни или даже тысяч сайтов.
И так, на дворе 11 апреля 2019 года. Уязвимостей меньше не становится. Но радует одно, что постепенно выходят критические обновления. Жаль что так редко:
Опубликован корректирующий релиз системы управления web-контентом WordPress 5.1.1, в котором устранена CSRF-уязвимость, позволяющая совершить атаку на администратора сайта для выполнения кода на сервере. |
В то время, как все переходят на php 7-7.1, wordpress добрался таки до PHP 5.6...
UPD: Кто хочет посмотреть все уязвимости wp - вам сюда