WordPress個別サポート

evalとbase64_decodeと聞いて、PHPの経験がある方はピンとくるかもしれませんが、この2つは単なるPHPの命令のコンビではありません。もしかすると、サイトがハッキングされて改ざんされていることの兆候かもしれません。ここでは、WordPressでも増えている「eval+base64_decode」による改ざんの仕組みを紹介します。

スポンサーリンク

パッと見て改ざんに気づかないコードの仕組み

あなたのサイトにアクセスすると見知らぬサイトに飛ばされたり、画面が真っ白になる。おかしな問題が起きるので、もしかして改ざんされたかもと思って原因を調べていて、ふと開いたPHPファイルに次のようなコードが書いてあったら、どうでしょうか。

<?php
header("Location: http://example.com/");
?>

PHPの厳密な意味がわからなくても、身に覚えのないURLが突然出てくれば、なんとなく「このファイル、改ざんされている?」とか「このコードが問題の原因?」とピンとくるかもしれません。実際、このコードのせいで、ページを表示すると「http://example.com/」に飛ばされてしまいます。

この例は親切なハッカーによるサイト改ざんと言えるかもしれません。パッと見て不正なコードかどうか判別しやすいからです。

では、次のコードはどうでしょうか?

<?php
eval(base64_decode('aGVhZGVyKCJMb2NhdGlvbjogaHR0
cDovL2V4YW1wbGUuY29tLyIpOw=='));
?>

開いたPHPファイルにこのようなコードが書いてあっても「なんとなく難しそうなコードが書いてあるな」くらいの印象かもしれませんが、実は、サンプルコード2はサンプルコード1と同じ結果になります。

サンプルコード1の「header…」を暗号化すると、「aGVhZGVyKCJMb2N」のような意味がわからない文字になります。これを復号して実行しているのがサンプルコード2だということです。

eval+base64_decode=改ざんの定番

これが、改ざんされたWordPressでよく見られる不正なコードの定番パターンで「eval」と「base64_decode」の組み合わせが目印です。

<?php
eval(base64_decode(暗号化された怖いコード));
?>

暗号化された怖いコードをbase64_decodeで復号して実行する仕組みにすることで、改ざんされていることに気づきにくいので注意が必要です。

そもそも、正規のWordPressシステム内では「eval」と「base64_decode」を組み合わせた処理は存在しません(WordPress 4.6.1時点)。eval+base64_decode=改ざんの兆候だと疑ってみた方が良いでしょう。

「100%改ざん確定」は保証できませんのでコード削除時は注意してください。

改ざん原因のNo.1は簡単すぎるパスワード

とりあえずの対策は、見つかった「eval+base64_decode」のコードを削除することですが、システムのあちこちに埋め込まれていることが考えられるので再インストールするのが現実的です。

それ以前に、改ざんされる原因のダントツ1位は簡単すぎるパスワードです。4桁の数字などは論外ですが、サイトのURLやユーザー名から類推されるパスワードも危険です。たとえば、「http://example.com/」で使っているパスワードがexample1234だったりするのは、「どうぞ、お入りください」と言っているようなものです。ご注意ください。

パスワードの強度をアップするヒントは以下のページも参考にしてください。

簡単すぎて危険なパスワードにひと手間かけて強度アップするヒント

この記事をSNSで共有する
WordPressでお困りのときはご相談を
この記事を書いた西沢直木が直接、WordPress個別サポートで対応します。
こんなときはご相談を
  • WordPressの使い方(ページやメニューの作り方を教えてほしい)
  • カスタマイズ(機能の追加やデザイン調整をお願いしたい)
  • トラブル対応(画面真っ白・「ログインできない」を解決したい)
マンツーマンなので相談内容は自由です。いただいた課題をその場で解決、CSSやPHPも目の前で修正します。気軽にご相談ください。
WordPress講座の問い合わせ先

関連記事

BizVektorのカスタマイズ

WordPressカスタマイズ

WordPressによるサイト作成のヒント

WordPressプラグイン

スポンサーリンク
西沢直木によるWordPress講座の紹介
ホームページ作成講座WordPress個別サポート