ハッキングのタイプ: URL インジェクション

ハッキングされたサイトのタイプが Search Console で「URL インジェクション」と表示されるページがありますが、どのような意味ですか?

ハッカーがサイトでスパムワードやスパムのリンクを含む新しいページを作成したことを意味します。新しいページには、ユーザーを他のサイトにリダイレクトする、ウェブサーバーを他のサイトに対するサービス拒否攻撃に参加させるといった、意図しない動作を行うコードが含まれていることがあります。

通常、ハッカーは次のいずれかの方法でサイトを変更します:

  • サーバー上の不安定なディレクトリへのアクセス権を入手する。たとえば、寛大な権限のディレクトリを、気づかずにそのままにする場合などです。
  • コンテンツ管理システムなど、サイトで実行されるソフトウェアの脆弱性を利用する。たとえば、WordPress の以前の不安定なバージョンを実行している場合などです。
  • ユーザー カウンタなど、サイトで使用しているサードパーティ プラグインをハッキングする。

スパムの被害を受けたサイトの全般的な詳細については、ハッキングされたサイトの復旧プロセスに関するヘルプのステップ 5: 被害を評価する(スパム)をご覧ください。

ハッカーによってスパムページがサイトに追加されたことを確認するには、どうすればよいですか?

最初に、Search Console の [セキュリティの問題] ページに届いたメッセージやリストに表示される URL のサンプルを調べます。各 URL で判明した内容を詳細にメモしておきます。

サイトに新しいページが追加されことを確かめるには、サイトがオフラインの場合でも、次の方法を使用できます。

  • Google で「site:example.com」のような「site:」検索を実行できます(site: 演算子とドメイン名の間にスペースを入れないでください)。ご自分のサイトを対象にこの検索を行うと、Google がインデックスに登録したサイトのページが表示されます。ここで、明らかに自分では作成していない余計なページがあるかどうかを確認できます。大きなサイトの場合は、[site:example.com pharmacy]、[site:example.com/wp-admin/]、[site:example.com inurl:hacked.php] のような、より詳細なクエリを使用できます。
  • シェル/ターミナル アクセスでサーバーにログインし、[セキュリティの問題] の [URL インジェクション] タイプに表示されたサンプルが存在するかどうか個別に確認できます。

新しいページのコンテンツを確認する場合、ブラウザを使って表示するのは避けてください。マルウェアが含まれている可能性があり、ブラウザの脆弱性を利用して広がることがよくあります。そのようなページをブラウザで開くと、お使いのパソコンに被害が及ぶおそれがあります。ページにマルウェアがない場合でも、ハッカーはクローキングの手法を使ってスパム ページを隠す場合があるため、ブラウザに表示された内容だけでは、Google やユーザーに表示される内容が明らかにならないこともあります。何も表示されないか、ブラウザでページが見つからない(HTTP がステータス 404 を返す)場合もあります。ハッキングされたサイトの復旧プロセスに関するヘルプのステップ 5: 被害を評価する(スパム)に対応する動画で、クローキングの詳細についてご紹介しています。

ブラウザを使う代わりに、次のいずれかの方法で、スパムページがサイトに追加されたことを確認できます。

  • Use “Fetch as Google” in Webmaster Tools:
    Google’s free Search Console provides a feature called “Fetch as Google” that you can use to see a page on your site as Google machines see it. This is useful since many hackers make changes that are visible only to Google machines. For example, they might add links to their site from yours that are only rendered when the referrer is Google.
  • Use cURL or Wget to fetch a page:
    These freely available tools let you view the source of the page as seen by a search engine, and have the flexibility to include referrer or user-agent information. By serving spammy content only to users with specific user-agents or referrers, the hacker can target more "real people" and can better avoid detection from site owners and anti-hacking algorithms used by search engines. (Your site will need to be online to use these tools.) For example:
    $curl -v --referer "http://www.google.com/search?q=page" --user-agent "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" http://www.example.com/page.html

Fetch as Google、Wget、cURL の出力で、新しく追加された疑わしいページのコンテンツを確認できます。

ハッキング タイプが「URL インジェクション」のサイトをクリーンアップするには、どうすればよいですか?

サイトをクリーンアップする準備が整った場合は(ハッキングされたサイトの復旧プロセスに関するヘルプのステップ 7)、影響を受けたディレクトリを正常な最後のバックアップで置き換えるか、好ましくないページと、ハッカーがページ作成に使用したファイルや関数を削除できます。

悪意のあるページを削除しても、ハッカーによるサイトへの最初の侵害を許した根本的な脆弱性に対処したことにはなりません。根本原因を修正しなければ、サイトは今後再びハッキングされるおそれがあります。たとえば、WordPress の古いインストールなど、サイトで実行しているソフトウェアを更新するのは、有効な方法の 1 つです。このハッキング タイプだけでなく、サイト全体のクリーンアップについて詳しくは、ハッキングされたサイトの復旧プロセスに関するヘルプのステップ 5: 被害を評価する(スパム)の「ファイルシステムの被害の評価」をご覧ください。

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。