【wordpressのハッキング方法 第1回】ユーザーログインIDを取得する

in 2020年11月2日

wordpressのハッキング方法

というちょっと危なそうな名前で何回か連載してみます。

もちろんこの投稿はwordrpessのハッキングを推奨するものではありません。

セキュリティを勉強する事というのは、ハッキング方法を勉強する事であり。

ハッキング方法を勉強するのは、セキュリティを勉強する事と同じ事になります。

どちらも勉強する中身は同じ。

攻撃に回るか防御に回るかの違いだけです。

 

という事で第一回は、wordrpessの管理人のIDを知る方法です。

実はこの方法はすごく簡単です。

なぜならwordrepssが元々用意している機能を使うだけだからです。

 

?author=1 でID丸見え

実はwordrpessは、ドメインに

?author=1

と入れると、投稿者の名前を返すように出来ています。

例えば、ドメインが

https://sample.com

ならば

https://sample.com?author=1

とURLをいじると、もしユーザーID1のユーザーIDが「admin」ならば

https://sample.com/author/admin/

と返してくれます。

これで、このサイトのユーザーNO1のユーザーIDはadminだとわかります。

 

ここで不思議になると思います。

なんてこんな機能あるの??

はい、セキュリティ的にはありえな機能ですが、wordrpessは元々ブログです。

この機能はブログの投稿者が数名いる場合、特定の投稿者の投稿一覧が見たい時に便利な機能になります。

さきほどの

https://sample.com/author/admin/

でadminさんの投稿一覧を表示するようになっています。

一般的なサイトの利用者には便利な機能になります。

ただ、この機能はハッキングする人にとってもすごく便利な機能になっています。

なぜなら

ドメイン/?author=1

とするだけで、管理人のログインIDが丸見えだからです。

あとは

/wp-login.php

に対してて取得したログインIDで、ブルートフォースアタックをすれば管理画面に侵入出来てしまいます。

 

上の例でのユーザーIDが「admin」なんてユーザーIDにしている人は、パスワードも適当につけているでしょうから、この方法で破られるでしょう。

 

この

?author=1

ですが、ロボットを使ったwordpressハッキングの王道です。

もし、サーバーのアクセスログを見る事が出来るのでしたら、そのログを

?author=1

で検索してみて下さい。

1日に数十回、多いときは数百回攻撃をされているのがわかると思います。

 

[02/Nov/2020:09:47:48 +0900] “GET ///?author=1 HTTP/1.1” 301 235

 [02/Nov/2020:09:47:48 +0900] “GET /?author=1 HTTP/1.1” 404 40 “ht

[02/Nov/2020:09:47:48 +0900] “GET //?author=1 HTTP/1.1” 301 0 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36

[02/Nov/2020:09:47:48 +0900] “GET //?author=2 HTTP/1.1” 301 0 “-” “Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.3

 

↑これはうちのサーバーアクセスログから適当に「?author=1」で検索した結果です。

1秒の間に4回も

?author=

で攻撃されています。

ロボットはこれでセキュリティの弱いサイトを探しています。

ユーザーNO1はかならず管理人になるので、

?author=1

のIDがわかれば、管理人としてログインする為のIDを取得したのと同じ事になります。