Взломали WordPress. Что делать?

28.04.2011

Взломали Wordpress

Сегодня утром я был неприятно удивлен, когда зашел на свой блог, который работает на движке WordPress. На главной недвусмысленно написано — “Hacked by Seif Jelidi”. В админку естественно не попал, пароль и логин не подошли.К моему счастью, на контактную почту стоит такой пароль, что я сам его периодически забываю, поэтому штатными средствами я восстановил доступ. Но куда бежать и что делать, если взломали WordPress, как защитить блог — об этом я расскажу сегодня.

Восстановление доступа в админку WordPress

В WordPress есть опция восстановления пароля по E-mail, ей и воспользуемся:

Админка WordPress

Если взлом был целенаправленным (в моем случае это не так, к счастью), высока вероятность того, что адрес контактной почты тоже будет изменен и получить пароль таким образом будет невозможно. Или другой вариант — адрес не поменяли, но сменили пароль контактного почтового ящика и к нему тоже нет доступа (используйте разные пароли — проблем будет намного меньше).

Если удалось восстановить пароль таким образом — отлично. Меняем все пароли (админка сайта, почтовый ящик и желательно к панели управления хостингом) и делаем полный бэкап сайта. Если не удалось восстановить пароль — все немного хуже, но тоже не смертельно. Будем воздействовать напрямую на базу данных MySQL и редактировать таблицы. Готовы?

Восстановление пароля с помощью phpMyAdmin

Заходим в панель управления хостингом (Все смогли зайти? Я предупреждал о разных паролях) и находим там phpMyAdmin. Это такая чудесная штука, которая позволяет управлять таблицами базы данных вашего сайта. Находим таблицу “wp_users” и жмем кнопку “Обзор”.

Работа с phpMyAdmin

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

Смена пароля в phpMyAdmin

Жмем кнопку “Редактировать” и попадаем в окно редактирования

Смена пароля

На картинке показан порядок действий. Да, небольшое уточнение — пароль вводим в нормальном, человеческом виде. Система сама зашифрует его, как нужно, используя указанное шифрование.

После сохранения нового пароля можно попробовать залогиниться в админку — все получится.

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

Отдельная тема для разговора — что делать для того, чтобы максимально усложнить жизнь взломщикам и прочим хулиганам?

  • Первое — использовать разные и максимально сложные пароли. Помните — пароль от административной части это фактически единственная защита сайта от злоумышленника. От серьёзного, заказного взлома не защитит, к сожалению, но заставит искать обходные пути, что может отпугнуть молодых “кулхацкеров”
  • Второе — сохраняйте резервные копии. Комментарии излишни.
  • Третье — периодически проверяйте компьютер, с которого происходит вход в админку, на наличие вирусов. Кейлоггеры — весьма вредная штуковина. При малейшем подозрении на вирус, троян или непонятных движениях на сайте (вход с неизвестных IP, непонятные файлы в корне) — полная смена паролей. Может быть это звучит несколько параноидально — зато очень успешно работает. Кстати, проверить файлы на изменение можно при помощи плагина к WordPress belavir (php MD5). Он проверяет контрольную сумму файлов и показывает, какие файлы менялись. И если вы их не меняли — это первый “звоночек” о необходимости проверки этих самых файлов.

Тему защиты от взлома я немного затронул в этой статье. Вот основные сведения, которые могут направить вас на верный путь. А еще лучше — не доводить до такого. Если что-то осталось непонятным или что-то не получается — вэлкам в комментарии или почту, постараюсь помочь с вашей проблемой

Удачного вам дня

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

  1. Виталий Мальцев

    Добрый день.
    Можно такой вопрос. Denwer + WordPress. На девере есть своя база mysql для статистики и др. целей. Вордпресс тоже нуждается в базе. Можно в этом случае использовать две базы с различными паролями. В т.ч. для того, чтобы если уж взломали одну, то вторая м.б. останется нетронутой?

    Ответить
  2. Ольга

    Подскажите, плиз, у меня на некоторые папки сайта поменялись права доступа. То есть для этих папок я не администратор. И поменять или удалить я их не могу. Вероятно залез червяк. Что делать?

    Ответить
    • GerinG

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

      Ответить
  3. Елена

    Спасибо! пароль поменяла зашла на страницу, но там следующая фраза «У вас недостаточно полномочий для доступа к этой странице.» Подскажите пожалуйста, что делать!

    Ответить
    • GerinG

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

      Вообще — попробуйте отключить все установленные плагины, частенько бывает что именно они виноваты.

      Ответить
  4. sergei

    взломали сайт..на всех страницах появились ссылки на порно.. как эту хрень выдрать скорнем? в админку пускает.. ни в одной статье ни у кого не написано как лечить такое.. (((

    Ответить
    • GerinG

      Надо смотреть, что к чему. Обычно внедряют код в шаблон, это проще всего. Скачайте шаблон и посмотрите ту его часть, где ссылки вылезли

      Ответить
  5. GerinG

    Ольга — повторю вопрос, который задавал sabirka. Куда у вас есть доступ, куда можете зайти?

    Ответить
  6. Ольга

    Не получается восстановить пароль через БД и через — забыли пароль?, аналогичные проблемы как вышенаписанные у Sabirka. Что делать в таком случае, подскажите пожалуйста!?

    Ответить
  7. Виталий

    Спасибо огромное! Поменял пароль и логин. Осталось навести порядок внутри, а то вместо страниц отображается непонятно что с мусульманской символикой и песнями

    Ответить
  8. Валерий

    Мля… Один из моих сайтов невезучий какой-то. Первый раз взлом был осуществлен вирусом. Я хранил пароли прямо в панели FileZilla, и за это
    поплатился (правда, урок не пошел мне в прок, я так и храню пароль в
    панели FileZilla). Второй раз сайт взломали очень хитро: прямо на моем
    же хостинге зарегили 20 сайтов, а потом сделали своего рода дубли, т.е.
    когда я заходил на свой сайт — все было ОК, но при этом существовали еще
    20 чужих сайтов с моим контентом. Ну с этим я тоже разобрался. А теперь
    какие-то педрилы из албании вообще наглухо взломали сайт, так что хостер
    даже восстановить пока не смог. Ну ладно, албанские мордожопы, и Вас натянем!!!

    Ответить
  9. GerinG

    Скорее всего да, это взлом. Доступ к хостингу и бэкапы остались?

    Ответить
  10. Mania

    а у меня такой косяк вылез, сначала ошибка 500 пару минут была, когда я была в админке WordPress, потом на месте моего сайта появился другой (!!!) сайт, а потом опять мой… взломали, поменяли?

    Ответить
  11. GerinG

    Бэкап предпочтительнее и если не горит — я бы подождал. Неясно, ограничился ли засранец только заменой индекса. Может еще что-то лежит потихонечку.

    Поднимите копию, пройдитесь плагинами TAC и Antivirus, замените все пароли. Поставьте плагин Login LockDown

    Ответить
    • Денис

      Спасибо, огромное за совет. Так и сделаю. Может реально где вирусы посеял гад.
      В знак благодарности, твитнул и гугл+ поставил. Полезная статья. Спасибо еще раз.

      Ответить
  12. GerinG

    Ну тут уж надо смотреть… Я так не подскажу, не я же это натворил
    Скорее всего заменен файл шаблона. Я бы рекомендовал поднять начисто из бэкапа. Либо прошерстить index.php шаблона — наверняка там косяк таится

    Ответить
    • Денис

      Да, нашел этот косяк. index.php заменил, засранец. Мне теперь как лучше сделать. Дождаться, пока хостинг провайдер пришлет бекап или можно взять шаблон и просто заменить эту страницу? Как лучше?

      Ответить
  13. Денис

    Спасибо, огромное автору за столь полезную статью. Смог восстановить пароль к админке. Правда внешне сайт не поменялся. Пока не знаю как его изменить. Если можете подсказать, то вот адрес: http://panovdenis.ru

    Заранее спасибо!

    Ответить
    • GerinG

      Скорее всего вы видите кэш, потому что у меня вот такая картина на вашем блоге —

      Ответить
      • Денис

        Да, она и есть. А что делать с этим кэшем и как его можно убрать? Весь контент на блоге остался, только он не дает выйти на сам блог.

        Ответить
  14. Денис

    У меня взломали сайт (до этого бэкапа не было, пароль в админку восстановил, а как сделать так, чтобы сайт стал доступен? Помогите пожалуйста.

    Ответить
  15. Раиса

    Раиса. Чуть-чуть запоздала с прочтением Вашей статьи. Дня 4 назад ломанули сайт на вордпрессе. А я ноль во всех этих проблемах, да и обнаружила взлом случайно, даже не знаю, когда реально он был сделан. Всё стояло на своих местах. Но я просто решила проверить индексацию поста на Яндексе, а там сообщение, что вход на сайт опасен для посещения! У меня чуть сердце не остановилось. Ну начала носиться по интернету в поисках ответа, спасибо блогерам.Потихоньку прояснила ситуацию, заменила пароли на хостинге и на вход в админку. А вот тексты вычитывала визуально. Хорошо, что у меня их только сотня, а там понатыкано кодов с перенаправлением на другие ресурсы. Удаляла вручную. Но всё равно СПАСИБО за указание плагина для автоматического сравнения файлов. Хотя не хочется, чтобы ситуация повторилась!

    Ответить
  16. sabirka

    А мне через базу данных не удалось восстановить вход в админку(((((((((((((((
    Через кнопку «Забыли пароль?» тоже не получилось. Как же попасть в панель админа???????? помогите, люди добрые.

    Ответить
  17. black0wolf

    Я как то уже восстанавливал пароль с помощью phpMyAdmin. Ничего сложного )

    Ответить
  18. aleksandr

    А у меня вот такая хрень: пытаюсь с сайта войти в консоль админки а оттуда вот такой фигвам Fatal error: Call to undefined function is_site_admin() in /home/zav/public_html/wp-content/plugins/related-posts.php on line 81—- подскажите начинающему,что делать ,а лучше пропишите путь исправления желательно на русском языке.Заранее благодарен.

    Ответить
    • GerinG

      Выходные отгуляю… И обязательно отвечу более основательно

      Ответить
  19. Елена

    Спасибо за полезную информацию. Я бы точно растерялась((( Осваиваю Вордпресс самостоятельно, всего три месяца, не хотелось бы с таким столкнуться.

    Ответить
    • GerinG

      Нет, пароль был со спецсимволами и разными регистрами, длиной 12 знаков. Суть не в этом, прорвались через хостинг, который на Linux платформе. И не через панель управления. а на уровне системы. Потому как под удар попал не один блог, а 3 проекта.

      Ответить
  20. terobait48

    как то писал точно такую же статью о восстановлении пароля к админке. только к движку dle, а не вордпресс
    в принципе почти к любой cms одинаково восстанавливается с помощью базы данных.

    Ответить
    • GerinG

      Абсолютно верно. База данных MySql для всех одна )))
      Поэтому пароль к панели хостинга — самое святое.

      Ответить