web-dev-qa-db-ja.com

Phpmyadminを使用してすべての管理ユーザーを検索する方法

私は自分のサイトの 'ゴースト'管理者がいることを発見するためにハックした後に私のwp-dashboardにログインしました。理由はわかりませんが、[管理]タブをクリックしても、[購読者]タブをクリックしても確認できます。

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

ここからどこへ行くかわからない:-(

どうぞよろしくお願いします。御時間ありがとうございます!

3
Trav Roes

SQLを生成することができます:

$query = new WP_User_Query( 
    [ 
        'role'          => 'Administrator',
        '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 '%\"Administrator\"%' ) ) ) 
ORDER BY user_login ASC

ここに示したものとは異なるテーブルプレフィックスがあるかもしれません。

隠れた管理者ユーザーを削除しても、他のバックドアが残っている可能性があるため、問題を解決できない可能性が高いことに注意してください。ハッキングされたサイトの回復は、ここでは一般的なトピックではありませんが、利用可能なバックアップ、セキュリティレビューなどについては、ホスティングプロバイダまたはセキュリティの専門家に連絡することをお勧めします.

5
birgire

Php myadminのwp_usersテーブルに移動して、自分がテーブル上の唯一のものであるかどうかを確認します。その場合は、ワードプレスのパスワードとデータベースのユーザー名またはパスワードを変更することを検討してください。テーブルに他のユーザーがいない場合、彼らはあなたのアカウントを使用している可能性があります。

編集

あなたがウェブサイトを購読している人がたくさんいることに気づいただけです。 wordpressメタタグの下のwordpressの管理者を確認するには、この入力を持つ人を探します。その後、ユーザーを削除します。これは他の管理者になります

a:1:{s:13: "管理者"; b:1;}

2
Chess Byte
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

データベースの接頭辞を見てください。

1
Greg Much
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```
0
Joshua