サイトが″ad.suniglasses.com″にリダイレクトされる【解決策発見】

数日前から、自分が運営するサイトに接続すると”″ad.suniglasses.com/ad.html″“に一瞬リダイレクトで飛ばされ、そこからさらに”cprmatix.com”という怪しいサイトに飛ばされるようになった。

まさかサイトがハッキングされた?どうすればいい?

こんな悩みを解決します。

本記事の内容

  • ″ad.suniglasses.com″にリダイレクトされる原因
  • ″ad.suniglasses.com″にリダイレクトさせるコードを削除するには
  • Per page headプラグインを仕込まれた原因と対策

私が上記の症状が出るように気づいたのは数日前。

当初はスマホのウィルス感染を疑いましたが、知人のスマホから見ても同様の症状が出たので、サイトに問題があると確信。

そこで自分のサイトを様々なオンライン診断やウィルスチェックプラグインで検査してみましたが、結果は特に問題なし。

ネットで検索してみたら、海外でも同様の症状で悩む運営者がたくさんいたものの、みんな原因がわからず困り果てている様子。

その時点でわかったことは、症状が出てるのはどれもワードプレスのサイトということくらい。

リダイレクトが原因か、直帰率が上昇してるしサイト滞在時間も極端に短い。

このままではサイトの評価にも悪影響を及ぼして、最悪の場合ペナルティを食らうのでは…。
もうサイト丸ごと削除するしかない?

そう早まる必要はありません。

丸一日かけて調べてなんとか解決したので、その方法をこれから紹介します。

″ad.suniglasses.com″にリダイレクトされる原因

まずはリダイレクトされる原因を調べるために、サイトのソースを確認してみましたた。

するとヘッダー部分に
eval(String.fromCharCode(118, 97, 114, 32・・・
という見慣れぬ怪しく長いスクリプトコードが…。

ヘッダーに追加されたscriptコードが原因?

テーマを調べてみると、ソースで発見した怪しいscriptコードがheader.phpに追加されちゃっているじゃないですか。

scriptcode

header.phpファイルが改ざんされてしまったと思われ。

というわけでscriptコード部分を全部削除してみたら、無事に”ad.suniglasses.com”にリダイレクトされることもなくなり…と期待したけど改善されず。

サイトのソースを見たらまだscriptコードがある。

どうやらテーマファイル以外のファイルにも、コードが書き込まれている可能性が。

そこでString locatorというプラグインでファイル内のコードを検索してみたら、出るわ出るわ…。

テーマファイルだけでなく、プラグインやjsファイルなどにもコードが書き込まれている。

さらに同じサーバー内にある他のワードプレスサイトも全て同様の被害が…。

″ad.suniglasses.com″にリダイレクトさせるコードを削除するには

同一サーバー内のワードプレスサイトがほぼすべて被害にあっていることもあり、すべてのサイトやファイルからコードを削除している余裕はありません。

まずは要らないサイトは思い切って削除しちゃいましょう。

そして次に不要なテーマファイルとプラグインを削除

使用中のテーマとどうしても必要なプラグインはできるだけ再インストールしてください。

各サイトの不要なテーマやプラグインを削除する作業中、一つのサイトでPer page headプラグインを発見。

サイトをハッキングされ、例のscriptコードを各ファイルに書き込むプラグインが追加されちゃっていたのです。

しかし他のサイトにも書き込めるなんて、恐ろしいプラグインを仕込んでくれましたね。

急いでPer page headプラグインを削除し、作業を続けます。

Wordfenceプラグインでコード削除

一通り不要なテーマとプラグインを削除したら、「Wordfence」というプラグインを新規追加します。

インストールして有効化したら、Scanを選択してオプション設定に進みます。

General Optionsで「プラグインもスキャンする」にチェックを入れてください。

スキャンを開始してしばらくすると結果が表示されます。

file modifiedとなっているものは、下の画像右のようにscriptコードが書き込まれてしまっているファイルです。

結果一覧の右側にある「Repair」をクリックし、一つずつコードを削除していきましょう。

String locatorで仕上げ

最後にString locatorというプラグインを新規追加し、下の画像のとおりにeval(String.fromCharCodeで検索してください。

すると例のscriptコードが加えられたファイルが一覧で出てきますので、editをクリックしてコード部分を削除し、Saveしてください。

間違って必要なコード部分まで消さないように。

以上で終了です。

再度自分のサイトにパソコンとスマホでアクセスしてみて、″ad.suniglasses.com″にリダイレクトされなくなったか確認してください。

まだリダイレクトされるサイトはscriptコードが残っている場合がありますので、String locatorでeval(String.fromCharCodeを検索してコードを削除してください。

Per page headプラグインを仕込まれた原因と対策

今回、悪意のあるPer page headプラグインを埋め込まれた原因は、Duplicatorというプラグインの脆弱性を狙われたことによるとわかりました。

Duplicatorプラグインが生成するinstaller.php、installer-backup.phpというファイルがサーバーにあると、第三者に任意のコードを実行され、サイトに任意のファイルが埋め込まれてしまいます。

バージョンが1.2.40以前のDuplicatorを使用している人は今すぐアップデートするとともに、installer.phpとinstaller-backup.phpを必ず削除してください。

Duplicatorはサイト複製のために使用していたのですが、今回の件を機に「All-in-One-WP-Migration」という別のプラグインに変更しました。

Duplicatorよりはるかに簡単にサイトを複製できるのでおすすめです。