Как найти всех пользователей с правами администратора через phpMyAdmin?

15 дек. 2016 г., 05:05:13
Просмотры: 21.7K
Голосов: 5

Я вошел в панель управления WordPress после взлома и обнаружил, что на моем сайте есть "призрачный" администратор... проблема в том, что я не могу просто просмотреть таблицу пользователей и удалить его. Не знаю почему, но вот что я вижу, когда нажимаю на вкладку "Администраторы" или "Подписчики":

https://www.dropbox.com/s/uf0uxw40le82yaa/Screenshot%202016-12-14%2021.59.54.png?dl=0

Она показывает только меня!

Я знаю, что метаданные для администратора находятся в таблицах wp-usermeta и wp-capabilities... и выглядят так: meta_value='a:1:{s:13:"administrator";b:1;}

Однако я совсем новичок в phpMyAdmin и не знаю, как искать это. Похоже, что у меня даже нет этой таблицы:

https://www.dropbox.com/s/cpkbtpihlymds9b/Screenshot%202016-12-14%2022.03.38.png?dl=0

Не знаю, что делать дальше :-(

Буду очень признателен за вашу помощь. Спасибо за уделенное время!

0
Все ответы на вопрос 4
0
11

Мы можем сгенерировать SQL запрос следующим образом:

$query = new WP_User_Query( 
    [ 
        'role'          => 'Администратор',
        'count_total'   => false,
    ]
);

echo $query->request;

Это выведет:

SELECT wp_users.* 
FROM wp_users 
INNER JOIN wp_usermeta ON ( wp_users.ID = wp_usermeta.user_id ) 
WHERE 1=1 
    AND ( ( ( wp_usermeta.meta_key = 'wp_capabilities' 
        AND wp_usermeta.meta_value LIKE '%\"Администратор\"%' ) ) ) 
ORDER BY user_login ASC

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

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

15 дек. 2016 г. 11:33:16
0
SELECT u.ID, u.user_login, u.user_nicename, u.user_email
FROM wp_users u
INNER JOIN wp_usermeta m ON m.user_id = u.ID
WHERE m.meta_key = 'wp_capabilities'
AND m.meta_value LIKE '%administrator%'
ORDER BY u.user_registered

Обратите внимание на префиксы базы данных.

9 апр. 2018 г. 13:57:40
0

Перейдите в таблицу wp_users в вашем phpMyAdmin и проверьте, являетесь ли вы единственным пользователем в этой таблице. Если это так, рассмотрите возможность изменения вашего пароля WordPress, а также имени пользователя или пароля базы данных. Злоумышленники могут использовать вашу учетную запись, если в таблице нет других пользователей.

Примечание:

Только сейчас заметил, что у вас много подписчиков на сайте. Чтобы проверить, кто является администратором в WordPress, найдите в мета-данных WordPress (таблица wp_usermeta) пользователей с такой записью. Затем удалите этого пользователя. Это будет другой администратор.

a:1:{s:13:"administrator";b:1;}

15 дек. 2016 г. 10:08:08
0
FROM wp_users INNER JOIN wp_usermeta 
ON wp_users.ID = wp_usermeta.user_id 
WHERE wp_usermeta.meta_key = 'wp_capabilities' 
AND wp_usermeta.meta_value LIKE '%Administrator%' 
ORDER BY wp_users.user_nicename```
17 июн. 2019 г. 16:18:53