Удаляем скрытого админа в WP » Не-SEO блог Стальной Груши.
  • Архивы

  • Удаляем скрытого админа в WP

    Многие знают о том, что в начале осени многие WordPress блоги подверглись MySQL-хаку, который портил пермалинки и делал невозможным доступ к постам. Данный хак поражал блоги старых версий WP, защита которых не выдерживает серьёзной критики.

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

    К тому же поле деятельности программиста  безбрежно и работа его может быть сведена к одной упрощённой формуле :"Пофиксил один баг - породил другой". Многие просто ждут "обкатки" новых версий и выявления в них новеньких багов. Так что поголовного перехода на новые версии не происходит.

    Я тоже долгое время не дёргался - моя старенькая  версия WP меня вполне устраивала, пермалинки, давление и температура у меня были нормальные. В ближайшее время мне всё равно надо менять хостинг - вот я и решил сделать всё сразу - и хостинг поменять и WordPress до последней стабильной версии обновить.

    userlistОднако вчера я совершенно случайно обнаружил, что у моего блога появился новый админ, который явно пытался скрыть своё присутствие. Проверить наличие скрытого пользователя с правами администратора можно и таким способом - зайти на страницу создания записи и посмотреть, сколько авторов претендуют на Ваши проникновенные посты.

    Если Вы увидите такую, к примеру, картину authors(справа) - у Вас появился конкурент. Понятно, что это безобразие надо немедленно пресечь.

    Пресечь можно разными способами, но проще всего, по-моему, воспользоваться  мощным скриптом phpMyAdmin, установленным по-умолчанию у каждого более-менее серьёзного хостера. Скрипт навороченный, но нам хватит и 1% его возможностей.

    Получить доступ к скрипту можно через панель управления Вашим аккаунтом, а можно ещё проще - наберите в адресной строке браузера http://Ваш сайт/phpmyаdmin, введите в появившемся окне авторизации логин и пароль доступа к Вашей базе данных (если забыли или отродясь не знали - можно посмотреть в файле wp-config.php) и Вы попадёте на страницу скрипта.

    Выбираете нужную базу данных и жмёте на вкладку SQL.
    menu
    Далее, в появившемся поле ввода нужно разместить следующий запрос :
    SELECT u.ID, u.user_login
    FROM wp_users u, wp_usermeta um
    WHERE u.ID = um.user_id
    AND um.meta_key = 'wp_capabilities'
    AND um.meta_value LIKE '%administrator%';

    В результате мы получим список всех пользователей с правами администратора. adminlist
    Осталось дело за малым - удалить самозванца. Жмите крестик и подтвердите удаление.

    Однако, у меня так просто удалить нежелательного администратора не получилось. При попытке удаления error#1054выскакивало следующее Error-окно (слева). #1054 - Unknown column 'u.ID' in ' where clause'.

    У меня совершенно не было желания разбираться в различиях версий mySQL и тонкостях SQL-запросов, поэтому я пошёл простым, брутальным путём.

    Выбираем в базе таблицу wp_users, далее вкладка "Экспорт" и сохраняем таблицу на диск. Открываем любым текстовым редактором (тем же блокнотом) и удаляем запись, относящуюся к нежелательному пользователю. Структура файла простая, разобраться, что удалять труда не составит.

    В phpMyAdmin жмём вкладку "Удалить" и полностью удаляем таблицу wp_users.  Далее вкладка "Импорт", adminвыбираем отредактированную таблицу wp_users и импортируем в базу. Делаем SQL-запрос, проверяем - скрытый админ удалён.

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

    Чтобы избежать повторного взлома можно обновиться до последней версии WordPress, а можно погодить и прибегнуть к способу, нагугленному в сети на многих источниках - заменить в папке /wp-includes/  файл vars.php на аналогичный от последней версии WordPress, либо отредактировать его вручную.

    Для этого находим в данном файле строку $pagenow = $self_matches[1]; и добавляем сразу после неё строку $pagenow = trim($pagenow, '/');. Говорят помогает. Я себе добавил. Осталось только прошерстить архивы на предмет левых спам-ссылок :)
    -------------------------------------------------------------------------------
    Довольно ново и неожиданно для меня - партнерская программа игры Travian. Деньги платятся за бесплатные регистрации в этой онлайн игре. С 1000 переходов можно заработать до $100 и более ! Если учесть, какой популярностью пользуются on-line игры - эта партнёрка может служить источником серьёзного дохода для вебмастера.
    Всегда востребованная услуга - оценка стоимости авто
    Всегда в моде - серебрянные украшения

    

    10 комментариев на “Удаляем скрытого админа в WP”

    1. Делитант пишет:

      Офигеть! У меня 4 блога на разных старых версиях. Все лень довести до ума. Но вижу, что нужно.

    2. steelpear пишет:

      Нужно-нужно :)

    3. Берия2к пишет:

      Интересует вопрос. Как без всего этого можно проверить о скрытом админе? через админку этого не видно.

    4. steelpear пишет:

      Лаврентий Палыч - шутить изволите ? Сначала прочитайте.

    5. Alex пишет:

      Спасибо огромное за пост, помогло. Вот только "теневого админа" можно удалить через PhpMyAdmin без удаления базы данных.

    6. steelpear пишет:

      У меня не вышло почему-то. Просто так быстрее у меня получилось. Тем более я не всю базу удалял, а только одну таблицу.

    7. Alex пишет:

      вот к тебе вопрос как у гуру wordpress'а, мой сайт прекрасно индексируется в таких поисковиках как google, yahoo, bing, liveinternet. Но при этом о нем в упор не знают yandex, rambler, mail.

      Почему понять не могу. В файле robots.txt никаких запрещающих правил нет, в самом коде блога тегов типа noindex or nofollow тоже нет, код абсолютно чист.

      Хостер ай-пи не закрывал от поисковых машин, на yandex, rambler, mail, я регался. Может подскажешь какую идею что еще может быть ??

      п.с. сайту 14 мес.

    8. steelpear пишет:

      Спасибо за "Гуру", конечно :)
      Вообще довольно странно. Блоги на Word Press обычно прекрасно индексируются. Ну что могу посоветовать... В общем всё известно.
      1. Проверь, есть ли у тебя список пингсервисов (настройки->написание). В инете массу информации найдёшь про пингсервисы.
      2. В robots.txt попробуй вставить строки
      User-agent: Yandex
      Crawl-delay: 5
      3. Сделай (если ещё нет) карту сайта. Есть плагины для WP.
      4. Напиши плаксивое письмо Платону :)
      Как-то так... Яндекс непредсказуем...

    9. Enyby пишет:

      Правильный вариант запроса на удаление:
      DELETE FROM wp_users WHERE ID = 6;

    10. steelpear пишет:

      Enyby - спасибо !

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