PHPリダイレクトハックとは?被害の仕組みと5ステップの対処・駆除方法を徹底解説
自社のPHPサイトが、ユーザーを悪意のあるウェブサイトへ勝手にリダイレクトしていませんか?それは「PHPリダイレクトハック」の被害かもしれません。PHPリダイレクトハックは、PHPで構築されたサイトに対して最も多く実行されている攻撃手法の一つです。このハックでは、訪問者がアダルトコンテンツや偽ブランド品販売サイトなど、さまざまな悪質なサイトへ強制的に誘導されます。攻撃者の多くは、広告収入やインプレッション数を不正に稼ぐことを目的としています。
しかし、こうした悪意あるサイトの多くは、あなたのユーザーにも深刻な被害をもたらします。フィッシングによって個人情報や機密情報を盗まれたり、有害な広告をクリックさせられたり、マルウェアをダウンロードさせられたりする恐れがあります。最善のケースでも、サイトへのトラフィック減少と、顧客から失われる時間と信頼という代償を払うことになります。
関連ガイド:PHPマルウェア除去の完全ガイド
さらに厄介なことに、スキルの高いハッカーはサイト運営者に気づかれないようリダイレクトを巧妙に隠すことがあります。つまり、管理者側ではサイトが正常に表示されているのに、裏では訪問者だけが別のサイトへ飛ばされている、という状況も起こり得るのです。
ただし、多くの場合、PHPリダイレクトハックを受けたサイトは以下のような状態になります。
では、それ以外のケースで自分のサイトが攻撃を受けていることをどうやって見分ければよいのでしょうか?そして、どうすれば修復できるのか?本記事ではまさにその点について詳しく解説します。
まずは、PHPリダイレクトハックの種類から見ていきましょう。
PHPリダイレクトハックの主な種類
サイトを危険にさらすリダイレクトハックには複数のタイプがあります。ここでは代表的な3つを紹介します。
1. デバイス別リダイレクト
一部のリダイレクトは、PCとスマートフォンで挙動が異なります。モバイル端末でのみリダイレクトが発生し、PCでは気づけないこともあります。どのデバイスで動作するかは、注入されたマルウェアの種類によって決まります。
2. プッシュ通知を利用したハック
侵害されたサイトがプッシュ通知を表示し、その通知経由でユーザーを悪意あるサイトへ誘導するケースもあります。これはPHPリダイレクトハックの中でも最も一般的な手口の一つです。
3. 地域(ジオターゲティング)別リダイレクト
特定の地域の訪問者だけを標的にしたいハッカーの場合、その地域からのアクセスのみがリダイレクトされます。たとえばA市が標的リストに入っていれば、B市のユーザーは一切リダイレクトされないか、まったく別のリンクへ誘導されることになります。
中には、顧客から「見知らぬサイトに飛ばされた」と苦情が届いて初めてハッキングに気づく運営者もいます。それほど巧妙な手口なのです。だからこそ、PHPリダイレクトハックが影響しうる箇所と、ハック成立のメカニズムを把握しておくことが非常に重要になります。
PHPリダイレクトハックが発生する3つの経路
サイトがリダイレクトされる原因はさまざまですが、主なものを以下に紹介します。
1. 悪意あるJavaScriptの挿入
ハッカーはサイトのJavaScriptに悪意あるスクリプトを混入させ、PHPリダイレクトハックと呼ばれる強制リダイレクトを実現します。悪意あるリダイレクトを行っているスクリプトを特定できれば、サイトをリダイレクトフリーの状態に戻せます。悪意あるJavaScriptの一例は以下の通りです。
2. .htaccessファイルへの悪意あるコード注入
無料のセキュリティプラグインは.htaccessファイルをスキャン対象から外しがちで、攻撃者はこの盲点を突きます。.htaccessファイルに追加される悪意あるコードは一見普通のコードと変わらず、発見しにくい場所に仕込まれるため、除去作業がより複雑になります。
3. 管理画面への不正侵入
セキュリティ監査が不十分なサイトには権限昇格につながる脆弱性が残っていることがあります。ハッカーはこの脆弱性を利用して、自身を「幽霊管理者」としてサイトに登録します。このアクセス権限を使い、バックドアを作成してPHPリダイレクトハックを実行するのです。
PHPリダイレクトハック駆除の5ステップ
簡単に防げたはずの被害でビジネスが損をするのは避けたいものです。そこで、「ハッキングされた」状態から抜け出すために実践すべき5つの対策を紹介します。
1. サイトをスキャンする
サイトのスキャンは手動でも専門家への依頼でも可能です。最も手軽なのは、専門家に任せる方法です。
自分でスキャンする場合は、オンラインで提供されているセキュリティスキャナーを利用しましょう。サイト内で検出された悪意あるコードのリストを素早く確認できます。
2. 新しい管理者アカウントを確認する
管理パネルにログインし、見覚えのない新規ユーザーがいないかチェックしてください。不明なアカウントを見つけたら削除し、すべてのパスワードを直ちに変更しましょう。
WordPressを使用している場合、「誰でもユーザー登録できるようにする」機能が必要なければ無効化するのがベストです。あわせて「新規ユーザーのデフォルト権限グループ」を「購読者」に設定しておきましょう。
3. データベース内の悪意あるリンクを探す
データベースもPHPリダイレクトハックの感染源になり得ます。確認するには、phpMyAdminにログインして以下のキーワードを検索します。
<script>, eval, base64_decode, gzinflate, preg_replace, str_replace
これらは悪用されやすいPHP関数で、リダイレクトを引き起こす可能性があります。ただし、実際に変更を加える場合は必ず専門家に相談してください。わずかな誤った変更でもサイトがダウンしかねません。トラブルにトラブルを重ねないためにも慎重さが不可欠です。
4. プラグインをスキャンする
どんなCMSを利用していても、複数のプラグインやテーマファイルを使っているはずです。これらのファイルも脆弱性を持つことがあり、ハッキングの入口になり得ます。
Diffcheckerなどのオンラインツールを使えば、プラグインファイルを公式のオリジナル版と比較できます。ただし、プラグイン自体に内在する脆弱性がある場合は、ゼロデイ脆弱性が悪用された可能性もあります。
5. バックドアをチェックする
泥棒と同じように、ハッカーも「裏口」=バックドアを使います。データベース内の悪意あるリンクを調べたのと同様に、以下のようなよく使われるPHP関数を探すことでバックドアも発見できます。
eval, base64_decode, gzinflate, preg_replace, str_rot13, eval
これらの関数は、変更を加える前に必ず精査してください。削除しようとした関数が正規のものだった場合、サイトが壊れてしまう恐れがあります。
クリーンアップの手順
問題箇所が特定できたら、いよいよ悪意あるコードの除去に取り掛かりましょう。
- サイトのファイルとデータベースのバックアップを取得する。
- サーバーにログインする。
- 悪意あるファイルを隔離する。
- 特定したファイルを編集する。
- 特定したマルウェア部分を削除する。ファイル全体が感染している場合は丸ごと削除する。
- SSH経由でfindおよびsedのLinuxコマンドを使い、複数の感染ファイルを一括検出する。例:find /path/to/your/folder -name ".js" -exec sed -i "s//ReplaceWithMalwareCode*//n&/g" '{}' ;
- すべてのファイルとデータベースから感染が完全に取り除かれていることを確認する。
- サイトのキャッシュをパージ(消去)する。
- リダイレクトの問題が解決したか検証する。
これらの手順でPHPリダイレクトハック後のクリーンアップは可能ですが、変更内容は元に戻せない場合もあるため、作業は細心の注意を払って行ってください。
まとめ
リダイレクトハックの被害を今のところ免れているなら、決して油断してはいけません。次は同じ幸運に恵まれるとは限りません。サイトの安全性と、それがビジネスに与える影響を真剣に考えるべきです。
まず真っ先に打撃を受けるのはSEOです。さらに、Googleにブラックリスト登録されてしまえば、ビジネス全体が致命的な状況に陥りかねません。顧客の信頼喪失は、事態をさらに悪化させる要因となります。
こうしたサイバー犯罪者から身を守るには、定期的なセキュリティ監査を実施し、問題の兆候を早期に発見することが重要です。「予防は治療に勝る」の言葉通り、Astraのような総合セキュリティソリューションを導入し、インターネット上の悪者たちから今日すぐにサイトを守りましょう。
-
Facebookのニュースフィードが読み込めないときの対処法8選
Facebookのニュースフィードが読み込めないときの対処法ウェブサイトの読み込みが遅かったり、まったく表示されなかったりすると、本当にイライラしますよね。何とかして改善したいと思っても、技術的なことが苦手な方にとっては、その方法がわからないことも多いはず。あまりのストレスに、インターネット回線業者(ISP)に連絡してしまう人もいるかもしれません。しかし、実は相手側ではなく自分側に原因があることも少なくありません。特に、せっかくFacebookを見ようとしたのにニュースフィードが読み込めないと、苛立ちもひとしおです。そこで今回は、Facebookのニュースフィードが正常に表示されないときに試し
-
URLブラックリストとは?原因と解除方法を徹底解説
「ウェブサイトは24時間365日休みなくあなたを宣伝してくれる。それができる従業員はいない」――ポール・クックソン(Paul Cookson) まさにその通りです。ウェブサイトはいわばデジタルポートフォリオであり、あなた自身、組織、製品やサービス、そして事業のあらゆる側面を、インターネットという巨大な仮想空間の中で表現する「企業の顔」とも言える存在です。もしURLがGoogle、Bing、Norton Safe Webなどの検索エンジンやセキュリティ機関によってブラックリストに登録されてしまったら、それはウェブサイトのオンラインプレゼンスにとって深刻な打撃となります。 ウェブを閲覧していると、