「自分のサイトを開くと普通に見えるのに、Google検索では知らない賭博サイトのページが出ている」と困っていませんか?
ホームページの改ざんは、画面が真っ白になるとは限りません。
管理者にはいつものサイトを見せながら、検索エンジンや検索から来た人にだけ別ページを見せることがあります。
今回は、古いPukiWiki/QHM系サイトで確認した、海外の賭博サイトへ誘導するSEOスパム改ざんの実例をもとに、
初心者にもわかるように「何が起きたのか」「何をしてはいけないのか」「どう復旧するのか」を解説します。
WordPressの復旧を多数手がけてきたよこやま良平です。わたしの現場経験をもとに、感染確認から完全駆除・再発防止まで丁寧に解説します。
- サイトが賭博サイトに改ざんされた時に起きること
- 管理者が気づきにくいクローキングの仕組み
- 削除前に必ずやるべきバックアップと証拠保全
- 古いWiki・QHM・PHP環境で特に危険な理由
- 自分で直すより今すぐ依頼すべき判断基準
結論から言うと、賭博サイト改ざんは「怪しいファイルを数個消せば終わり」ではありません。
検索エンジン向けの偽ページ、外部サイトへの転送、復活用のバックドア、Search Consoleの不正所有権まで確認する必要があります。
少しでも自信がない場合は、ファイルを消す前にバックアップを取り、そのまま専門家へ相談してください。
削除してからでは、侵入経路や被害範囲を追えなくなることがあります。
サイトが賭博サイトに改ざんされた時に実際に起きたこと
今回の事例では、トップページ周辺のファイルに海外賭博サイト向けのSEOスパムが埋め込まれていました。
調査対象は、10年以上前から使われていたPukiWiki/QHM系のホームページです。
WordPressではありませんが、古いPHPで動くCMSやWikiでは同じような被害が起きます。
トップページの中身が賭博サイト向けHTMLに変わっていた
本来は小さなファイルのはずのトップページが、約700KBまで大きくなっていました。
中には、海外賭博サイト名、説明文、OGP設定、外部画像の読み込みが入っていました。
OGPとは、SNSでページが共有された時に表示されるタイトルや画像の設定です。
つまり攻撃者は、ただ壊すためではなく、検索結果やSNSでクリックされることまで考えてページを作っていました。
改ざんページは雑ではなくスマホ対応までされていた
不正なページには、BootstrapというWebデザイン用の仕組みも含まれていました。
Bootstrapは正規のCSSフレームワークですが、攻撃者が見栄えのよい宣伝ページを作るために悪用していた形です。

ここで大切なのは、見た目が整っているから安全とは限らない点です。
攻撃者は、検索結果から人を集めるために、普通のランディングページのような作り込みをします。

検索結果だけ汚染されると発見が遅れる
管理者がブックマークからサイトを開くと正常に見えるため、普段の確認だけでは被害に気づけません。
しかしGoogleには、賭博サイト関連のタイトルや説明文が登録され続けることがあります。
- Googleで
site:自分のドメインを検索する - 検索結果に外国語や賭博系のタイトルが混ざっていないか見る
- スマホのGoogle検索結果から自分のサイトを開いて確認する
- Search Consoleに知らない所有者がいないか確認する

サイト改ざんに使われたクローキングの仕組み
今回の改ざんで特に重要なのは、見る相手によって表示内容を変えるクローキングです。
クローキングとは、アクセスしてきた相手が検索エンジンなのか、人間なのか、検索結果から来た人なのかを見分け、
それぞれに違う反応を返す手口です。

Googlebotにはスパムページを見せる
コードでは、アクセス元のユーザーエージェントを見て、GooglebotやBingbotなどを判定していました。
ユーザーエージェントとは、ブラウザや検索エンジンが「私はこういうアクセスです」と伝える名前のようなものです。
検索エンジンの巡回ロボットだと判断すると、賭博サイトの宣伝ページを表示します。
これにより、Google側には本来の店舗サイトではなく、攻撃者が作ったスパムページの情報が登録されてしまいます。
検索から来た人だけ外部サイトへ飛ばす
さらに、リファラーという情報も使われていました。
リファラーとは「どのページから来たか」を示す情報で、Google検索から来たかどうかの判断に使われることがあります。
検索結果から来た人だけ外部の賭博サイトへ転送されると、管理者本人は気づきにくくなります。
問い合わせが減った、検索順位がおかしい、知らないページが増えた、という段階で初めて異変に気づくこともあります。
普通にアクセスすると404で隠れる
通常のアクセスでは、404 Not Foundを返す処理も確認されました。
これは「そのページは存在しません」と見せかけて、調査者や管理者から不正ページを隠すための動きです。
- 管理者が見ても正常に見える
- 検索エンジンには不正ページが登録される
- 検索から来た見込み客だけ別サイトへ飛ばされる
- 発見が遅れるほど検索評価や信用に傷がつく
サイト改ざんで見つかった不審ファイルとバックドア
今回の調査では、賭博サイトを表示するファイルだけでなく、復活用のバックドアらしきファイルも確認されました。
doorway系ファイルはSEOスパムの本体
doorway_tier1.php、doorway_tier1.phtml、doorway_tier1.txt のようなファイルは、PukiWiki/QHMの正規ファイルではありません。
ドアウェイとは、検索エンジンや検索ユーザーを別の目的地へ誘導するために作られた入口ページのことです。
.phtml は、サーバー設定によってPHPとして実行されることがあります。
「HTMLっぽい拡張子だから安全」と考えて戻してしまうと、不正コードが再び動く可能性があります。
add_userや不自然な名前のPHPは復活役の可能性がある
add_user.php や class-IXR-base64-xr-date-v2.php のような不自然なファイル名も確認されました。
ファイル名だけで機能は断定できませんが、通常のPukiWiki/QHMには含まれないため、復旧先へ戻すべきではありません。
特に、アップロード画面を出す、自分自身を別の場所へコピーする、外部からコマンドを受ける、といった処理があればバックドアです。
バックドアとは、正規のログイン画面を通らずに攻撃者が再侵入するための裏口です。
Wikiページ本文にもスパムページが混入していた
今回怖いのは、PHPファイルだけでなく、wiki/ 内のページデータにも賭博系キーワードが入っていた点です。
PukiWiki系では、ページ本文がテキストファイルとして保存されるため、攻撃者がスパムページをWikiページとして作ることがあります。
RecentChangesに混入した場合、更新履歴ページにも不正なページ名が残ります。
RecentChangesは再生成できることが多いため、復旧時は無理に戻さない判断も必要です。
doorway、rp、syshackなどを含む不審ファイル.phtml、.php5、.pharなど正規利用が説明できない実行ファイルattach/、wiki/、cache/内のPHPファイル- 見覚えのないGoogle所有権確認HTML
- 最近更新された巨大な
index.phpや不自然なpuki_wiki.php

サイト改ざんを直す前に必ずバックアップを取る理由
不正ファイルを見つけても、最初に削除してはいけません。先にバックアップと証拠保全を行うのが正解です。
削除すると被害範囲を調べられなくなる
感染ファイルには、設置時期、通信先、復活方法、攻撃者が使ったキーワードの手がかりが残っていることがあります。
先に削除すると、あとで「いつから」「どこまで」「何をされたか」を説明しにくくなります。
クライアントやサーバー会社へ状況を報告する場合も、削除前のファイル一覧や更新日時が重要です。
焦って消すより、まず保存してから隔離する方が安全です。
PukiWiki/QHMで最低限残すデータ
PukiWiki/QHM系は、WordPressのようなデータベース中心ではなく、ページ本文や添付ファイルをファイルとして持つことが多いです。
そのため、復旧時は「本体ファイル」より「ページデータと添付」を守る意識が大切です。
wiki/:ページ本文attach/:添付ファイルpukiwiki.ini.php:PukiWiki設定qhm.ini.php:QHM設定backup/、diff/、counter/:必要に応じて保存image/:サイト内画像が入っている場合は確認して保存
一方で、cache/、cacheblog/、cacheqhm/、amp/ のようなキャッシュ・生成系フォルダは、復旧先へそのまま戻さない方が安全です。
必要なデータではなく、不正ファイルが紛れやすい場所だからです。

FTPだけでも丸ごと保存してから作業する
共有サーバーでSSHが使えない場合でも、FTPで全体をPCへダウンロードしてください。
サーバーパネルにファイルマネージャーやZIP作成機能があれば、先に圧縮してから落とすと失敗しにくくなります。
バックアップが取れたら、怪しいファイルは削除ではなく隔離が基本です。
たとえば _quarantine_日付 のようなフォルダへ移し、復旧先へ戻さないようにします。
古いWiki・QHM・PHP環境が危険な理由
今回の根本的な問題は、古い仕組みを長く使い続けていたことです。
PHP 5.3はすでにサポートが終了している
今回の環境では、PHP 5.3.29が使われていました。
PHP公式は、PHP 5.3.29のリリース時にPHP 5.3系の終了を案内しており、古いPHPを使い続けることはセキュリティ上の大きなリスクです。

PHPは、サイトを動かす土台です。
土台が古いままだと、CMS本体だけを掃除しても、同じ弱点を突かれて再感染する可能性があります。
QHM系は更新できる原本が重要になる
QHMはPukiWikiをベースにしたWebサイト作成システムで、後継・関連情報としてHAIKが案内されています。
ただし、古いQHMをそのまま使い続けている場合、現在のPHPやセキュリティ要件に合わないことがあります。
復旧では、感染した旧ファイルを上書きで直すより、クリーンな本体へ必要データだけ戻す方が安全です。
ただし、QHM独自のプラグインやテンプレートを使っている場合は、単純に最新版PukiWikiへ置き換えると表示や管理機能が壊れることがあります。
- 本体のPHP、lib、plugin、skinはクリーンな原本を優先する
- wiki、attach、設定ファイルだけを慎重に戻す
- 戻す前に、データフォルダ内のPHPや不審な.htaccessを除外する
- 表示確認後にPHPバージョン、パスワード、権限を見直す
検出文字列だけで全ファイルを不正扱いしない
古いPukiWiki/QHMの lib/ や plugin/ には、正規機能として eval、create_function、base64_decode が含まれる場合があります。
検出された文字列だけで全ファイルをマルウェア扱いすると、必要な機能まで壊してしまいます。
判断するときは、ファイル名、場所、更新日時、サイズ、内容、正規原本との差分を合わせて見ます。
初心者がここを一人で判断するのは難しいため、不安な場合は無理に削除せず相談してください。
サイト改ざんがわかった時の正しい復旧手順
賭博サイト改ざんが見つかったら、復旧は「止める、残す、分ける、入れ替える、確認する」の順番で進めます。
手順1:公開被害を止める
まず、検索エンジンや訪問者に不正ページが配信され続けないようにします。
メンテナンス表示、Basic認証、サーバーパネルのアクセス制限など、できる範囲で公開被害を止めてください。
ただし、証拠を消さずに止めることが大切です。
いきなり全削除すると、後で再発原因を調べられなくなります。
手順2:全体バックアップと不審ファイル一覧を保存する
FTPで全ファイルをPCへ保存し、可能ならサーバーパネルやphpMyAdminからデータベースもエクスポートします。
PukiWiki/QHMではDBを使わない構成もありますが、サーバーにDBがある場合は念のため確認します。
次に、更新日時が新しいPHP、見覚えのないPHP、.phtml、.phar、怪しいGoogle確認HTMLを一覧化します。
この一覧が、復旧先へ戻さないファイルを決める材料になります。
手順3:クリーン本体へ必要データだけ戻す
安全重視なら、感染した環境で部分削除を続けるより、クリーンな本体に差し替えます。
旧環境から戻すのは、ページ本文、添付、設定ファイル、必要な画像に絞ります。
戻す前に、wiki/ や attach/ の中にPHPが混ざっていないか確認してください。
添付フォルダにPHPがある場合、画像のふりをした実行ファイルの可能性があります。
手順4:パスワードとSearch Consoleを確認する
ファイルを綺麗にしても、FTP、サーバーパネル、管理画面、DB、メールのパスワードが漏れていれば再侵入されます。
変更は、感染の疑いがない端末から行ってください。
Google Search Consoleの所有者も確認します。
見覚えのない所有者や、攻撃者が置いた可能性のあるHTML確認ファイルが残っている場合は削除が必要です。

サイト改ざんを自分で直さず今すぐ依頼すべき判断基準
次の条件に当てはまるなら、自分で削除を続けず、今すぐ復旧を依頼してください。
- 検索結果に賭博サイトや外国語ページが出ている
- Google検索から開くと別サイトに飛ばされる
- 不審なPHPが複数あり、どれを消せばよいかわからない
- 消したはずのファイルが復活する
- 古いPukiWiki、QHM、PHP 5系を使っている
- クライアントサイトで、説明責任や納期がある
初心者が一番やりがちな失敗は、「明らかに怪しいファイルだけ消して安心する」ことです。
ドアウェイページだけ消しても、バックドア、不正所有権、漏れたパスワード、古いPHPが残れば再発します。
特にクライアント案件では、失敗してページ本文や添付ファイルを失う方が大きな問題になります。
バックアップを取った時点で作業を止め、復旧の専門家に渡す方が結果的に早く安全です。

サイト改ざん・賭博サイト誘導のよくある質問
賭博サイト改ざんが見つかった時に、初心者からよく聞かれる質問をまとめます。
サイトが賭博サイトに改ざんされた時の対策まとめ
サイトが賭博サイトに改ざんされた場合、見た目が普通でも安心してはいけません。
検索エンジンにだけスパムページを見せるクローキングや、検索結果から来た人だけ外部サイトへ飛ばす仕組みが使われることがあります。
今回のように古いPukiWiki/QHM、PHP 5.3、不審なドアウェイファイル、Wikiページ内スパムが重なっている場合、部分削除よりクリーン本体への差し替えが安全です。
戻すのはページ本文、添付、設定ファイルを中心にし、キャッシュや不明PHPは戻さないでください。
- サイトが普通に見えても検索結果が汚染されていることがある
- クローキング型は管理者が気づきにくい
- 削除前に全体バックアップと証拠保全を行う
- 古いPHP・古いCMSは再感染リスクが高い
- 不安なら、ファイルを消す前に今すぐ復旧を依頼する
賭博サイト改ざんは、対応が早いほど被害を小さくできます。
「消してよいファイルがわからない」「クライアントサイトなので失敗できない」と感じたら、その時点で相談してください。
サイトが賭博サイトに改ざんされたら今すぐ復旧をご依頼ください

ホームページが賭博サイトに改ざんされた、検索結果が汚染された、Googleから知らないページが出ている。
そんな状態なら、ファイルを消す前にクイックレスキューへすぐにご依頼ください。
バックアップ、証拠保全、不正ファイルの判定、バックドア除去、コア差し替え、Search Console確認、再発防止まで、
初心者の方にも状況がわかるように説明しながら対応します。
- 検索結果に賭博サイトや外国語ページが出ている
- ホームページが勝手に別サイトへリダイレクトされる
- 不審なPHPや.phtmlがあり、消してよいかわからない
- 古いPukiWiki、QHM、WordPressを安全に復旧したい
- クライアントサイトなので失敗せず早く直したい
- 万一復旧できない場合やマルウェア駆除できない場合は全額返金保証で安心
- 90日間再感染保証・動作保証で安心
- 初期費用・調査費用0円で安心
