WordPressをクラックする楽しいお仕事してるなう
WordPressって簡単に動的なサイト作れて便利ですよね。
簡単にテンプレートをインストールできるし、ほとんどのサーバーで使用できるし、ブログにしたらSEO強いし、
コーポレートサイトに導入したら、新着情報だけ管理画面からブログっぽく更新することもできるし、
顧客管理サイトとか不動産物件検索サイトとか魔改造もできるし。。。
一説によれば世界のウェブサイトの約50%はWordPressでできているみたいです。
でもね、WordPressってメジャーすぎて色んな所から結構攻撃喰らうんですよね、、
そんなわけで、某WordPressで運用されているメディアサイトをクラックしてみました(もちろん許可を取った上で)
WordPressのクラックは意外に簡単で、「WordPress クラック」とかでググれば色々やりかたは出てくるんです。
目次
WordPressの脆弱性の分類はこんな感じです。
ユーザー名がバレる設定にしている
ユーザー名は結構簡単にバレるんですよね。
ユーザー名がバレると何がマズイかというと、IDとパスワードの片方が知られてしまうので、辞書攻撃でログインを試みる場合にキーとなる片方の文字列がバレてしまうわけです。
脆弱なパスワードを使用している
脆弱なパスワードを使用していると、辞書攻撃(ブルートフォースアタック)でログインできる可能性があります。
辞書ファイルはネットにも出回ってまして、passwordとかpass1234とか簡単なパスワードにしていたら、割りと簡単にログインすることができてしまったりします。。
古いWordPressを使用している
WordPressは毎月のようにバージョンアップしていてメジャーバージョンアップ以外はほとんどセキュリティーアップデートだったりします。
できる限り最新のWordPressを使用するようにしましょう。
脆弱性があるプラグインを使用している
プラグイン自体に脆弱なコードが入ってる場合もあったり、敢えて脆弱なコードを入れてプラグインを配布する輩もいたりします。プラグイン自体がバックドアになっているわけですね。使わないプラグインとか怪しいプラグインはオフにするようにしましょう。
実際にやってみて
そんなわけで、脆弱性が色々あるWordPressですが、やってみてわかったことはしかも、攻撃用のソースコードが公開されているのってあまり多くなくて、やり方は自分でソースコード読んで試行錯誤しないといけないので、攻撃はそれなりに面倒くさい^^;
しかも仕掛けられる攻撃ってXSS(クロスサイトスクリプティング)とかCSRF(クロスサイトリクエストフォージェリ)がほとんどなんですよね。
これらの攻撃は管理者を特定している上で、管理者に対してリンクを踏ませるなどの特定のアクションが必要なわけです。
管理者がWordPressにログインしてる状態でリンクを踏んだらWordPressに攻撃が発生して成立するという仕組みです。
つまり第三者が任意に思った通りの攻撃を実行するってのは難しくて、ほとんどの場合は管理者の情報を多少知りえていないとダメなんですよね。
辞書攻撃(ブルートフォースアタック)などだと任意で攻撃できるわけですが、脆弱なパスワードを使ってたとしても一般的な辞書ファイルにないパスワードを使ってることは結構あるので攻撃成立は難しいのわけです。
例えば、日本人の名前、会社名などがそれに当たります。
そんなわけで、相手の名前やら誕生日やら会社名やら、ある程度の情報があった上で辞書ファイルを自ら作ることになるわです、んで頑張って辞書ファイルを作成したのにも関わらず、ブルートフォースアタックは毎秒数十リクエストを送るので、受け側のサーバーが耐えきれずダウンしてしまったりします(-.-;)
ちなみにWordPressを入れるならイキってVPSとかAWSにインストールするより適当な共用サーバーの方が良いかもしれません、不正アクセスのパターン検知してミドルウェアレベルで自動でブロックしてくれます。
そんなわけで、攻撃するのもそれなりに大変ですよって話でした。
最新記事 by まなびん (全て見る)
- 日本最大級セミナーのポータルサイトの開発に関わらせて頂いています - 2019年10月24日
- エンジニアとして求人応募する際に意識してほしいこと - 2019年10月23日
- 受託が忙しく自社サービス開発できないので開発メンバー募集! - 2019年1月28日