不正リダイレクトの仕組み
リダイレクトは、あるURLにアクセスした人を、別のURLへ自動で案内する仕組みです。サイトの引っ越しやページの移動のときに使われる、ごく普通の機能です。不正リダイレクトは、この仕組みを攻撃者が悪用し、訪問者を詐欺サイトや広告ページ、マルウェアを配布するサイトへ送り込むものです。多くの場合、サイトの改ざんによって仕込まれます。
お店の入口にいる案内係がいつの間にか別人にすり替わり、来店したお客さんを隣の怪しい店へ連れて行ってしまうようなものです。
WordPressサイトでの例
不正リダイレクトのコードは、次のような場所に仕込まれます。
- .htaccess:サーバーの設定ファイルに、別のサイトへ転送する命令が書き加えられる
- テーマ・プラグインのファイル:
header.phpやfunctions.phpなどに、転送用のコードが埋め込まれる - データベース:投稿やウィジェットに、外部のJavaScriptを読み込むコードが書き込まれる。クロスサイトスクリプティングの脆弱性を突いて書き込まれることもあります
厄介なのは、条件によって転送するかどうかを切り替える細工がよくされていることです。
- Googleなどの検索結果から来た人だけを転送する
- スマートフォンからのアクセスだけを転送する
- 同じ人には最初の1回だけ転送する
- ログイン中の管理者には転送しない
このため、サイトの持ち主がいつもどおりブックマークから開いても何も起きず、気づくのが遅れがちです。検索エンジンと人とで見せる内容を変えるクローキングと組み合わされることもあります。
見つけ方・確認方法
- ログアウトした状態で、スマートフォンのモバイル回線から、Google検索の結果をタップしてサイトを開いてみる
- 「サイトを開いたら別のページに飛んだ」という問い合わせや連絡が来ていないか確認する
.htaccessに、見覚えのない外部ドメインへの転送の命令(RewriteRuleなど)が書かれていないか確認する- 設定 > 一般 の「WordPressアドレス」「サイトアドレス」が、自分のドメインのままになっているか確認する
- Google Search Console の「セキュリティの問題」に警告が出ていないか確認する




