Уязвимость WordPress. Как защитить сайт от заражения вредоносным js-скриптом с внешней ссылкой

 

В какой раз убеждаюсь, что всё гениальное — просто.

script virus

Пару дней назад я поделился на сайте о новой проблеме в уязвимости CMS WordPress, и как потом оказалось та же самая беда касается и CMS Joomla.

Не буду ещё раз всё пересказывать, подробно проблема описана здесь.

А суть её во взломе сайтов построенных на вышеуказанных CMS  и не заметном внедрении js-скрипта с внешней ссылкой в файл header.php в случае с WordPress и в файл index.php в случае c Joomla.

В комментарии к предыдущему посту по этой проблеме мне подкинули полезную ссылку, по которой оказалась интересная статья на английском языке по сути этой проблемы, из неё я почерпнул некоторую полезную информацию.

Вот какую:

Наводчиком или приманкой, если можно так сказать, для хакерских ботов внедряющих этот скрипт служит закрывающий тег < / h e a d > (я специально написал с пробелами, так как хакерский бот вставляет скрипт даже в комментарии, если обнаружит там упоминание этого тега).

Так вот, робот обнаружив это закрывающий тег, тупо вставляет перед ним свой вредоносный js-скрипт (JavaScript).

Можно просто найти этот скрипт вручную и удалить, как я первоначально и сделал. Но это помогает не надолго, скрипт появится снова и достаточно скоро, единственное чем он будет отличаться — в нём будет новая внешняя ссылка, уже на другой сайт.

Я, к сожалению, пока не знаю по какой именно схеме взламываются сайты и роботу удаётся вносить изменения в код.

В вышеупомянутой статье на английском, к сожалению, кроме общих стандартных советов по защите и безопасности сайта никаких конкретных советов по решению данной проблемы не даётся. А решать надо, и чем быстрее тем лучше.

У меня возникла идея, как предельно просто избавить себя от появления вредоносного js-скрипта. Решение оказалось на поверхности.

Раз уж хакерский бот ориентируется на закрывающий тег < / h e a d >, то я решил, что его просто надо лишить этой поисковой цели. В моей памяти, что-то такое хранились, что < h e a d > это один из тех html — тегов, к которым закрывающий тег не требуется. На всякий случай, я ещё раз прочитал справочную литературу по языку HTML — и да, закрывающий тег абсолютно не обязателен! Вот, собственно и ответ на решение проблемы.

Просто удаляем в файле header.php (WordPress) или в файле index.php (Joomla)  закрывающий тег < / h e a d > и проблема появления левого скрипта с внешней ссылкой на посторонний ресурс исчезнет.

Я проделал эту процедуру с одним из своих сайтов, оставив закрывающий тег на других. Прошло два дня: на сайте без закрывающего < / h e a d > скрипт больше не появлялся, тогда как на остальных появился вновь.

Я конечно понимаю, что это не самое кардинальное решение проблемы, хакеры могут усовершенствовать бот, настроить его на другой тег, вообще изменить скрипт и тд. Основная проблема — это всё же определённая уязвимость сайтов на WordPress и Joomla, и именно в этом направлении нужно искать решение.

Но пока, на данном этапе и такой вариант решения не будет лишним.

Буду рад любым вашим мнениям и мыслям по решению этой проблемы. Давайте вместе с ней разберёмся, пишите о ваших вариантах и идеях в комментах, обсудим.

Утащить к себе:
прочитало: 2 786 чел.

Комментарии:

Комментариев: 6
  1. спасибо за совет, сам борюсь с этой заразой, грешил на хостинг, также любые манипуляции с .htaccess ни помогают, жду более глубокого решения…

  2. Тоже столкнулся с этой проблемой, Уже больше 3 недель воюю. Никакие защитные плагины к WP пока не помогают. Но есть один любопытный нюанс. Заражаются не только активные сайты, но и не работающие, даже те, для которых уже нет доменных имён. Т.е заражение идёт на уровне файловой системы. Очевидно скрипт получает доступ к файловой системе от имени скорее всего пользователя, под которым запущен веб-сервер, и шерстит всю доступную файловую систему. А дальше, как Вы написали, ищет закрывающий тег и делает своё чёрное дело. 🙁
    Вот только как именно этот скрипт проникает в систему пока не известно. 🙁

  3. Друзья, никто так и не нашел каким именно образом инфицируются сайты? У меня та же проблема, не первую неделю борюсь с этой заразой, а итог все равно один… заражены все сайты включая неактивные…:(

    • Пока не ясно как инфицируются, но как избавиться от повторного заражения описано в статье выше.

Добавить комментарий для rosm Отменить ответ