メンバーメニュー

ようこそ、ゲストさん

トップ > カテゴリ一覧 > ミニバード > WPの管理画面が表示されない

質問

  • WPの管理画面が表示されない
  • 本文:

    今朝WordPressをバージョンアップしたあと、サイトも管理画面も真っ白で表示されなくなってしまいました(アップデートする前まではどちらも問題なく表示されていた)。
    エラーを表示させるため、FTPソフトで wp-config.php ファイルを開き、define(‘WP_DEBUG’, false); をdefine(‘WP_DEBUG’, true); に変更、しかしエラーは表示されません。
    ワードプレスとプラグインの干渉を疑って、FTPで「plugins」フォルダの名称を「_plugins」に変更して保存、しかしそれでも状況は変わりません。
    エラーが表示されないことには問題の解決のしようもなくお手上げ状態です。
    何かアドバイスがある方がいらっしゃれば助けてください!

  • 緊急度:緊急投稿者:wonda4さん投稿時間:2017/04/24 21:09
質問に対する回答は締め切られました

回答 No.5981

  • この回答がベストアンサーです

  • 本文:

    エラーメッセージが捕まえられないことにはどうしようもないので、
    php.ini の設定で、
    display_startup_errors =ON
    display_errors =ON
    error_reporting = E_ALL
    に設定した後、適当にサイトにアクセスしてから、ログファイルのエラーログを見る。

    .htaccess ファイルをデフォールトの最小限のものに変更してみる(勿論、バックアップは取ってから)、あるいは、空にしてみる。

    使っていたテーマファイルのディレクトリを削除(勿論、バックアップは取ってから)してみる。(標準のテーマtwentysixteenとかは消さない)

    # 時々、誤解する人がいるので、補足しておくと、△筬は、「それで直る」というのではなく、「それでどう変化するか」というのを見るためだから、「△筬をやってみたけれどダメでした」なんて素人丸出しの返事はしないように。

    wordpressのバージョンアップが原因なら、バージョンダウンをしてみる。
    勿論、ダッシュボードからはできないので、現サイトからwordpress関連のファイル(ルートにインストールしているなら全部)をすべてダウンロードして、それに、直前のバージョンのwordpressのファイル(これは、wordpress本家のサイトからダウンロードする)を上書き(wp-config.php と wp-content以下を除く)したものを再アップロードしてみる。
    バージョンが違いすぎるとデータベースの構造が変化していてうまくいかない可能性が増えるので、なるべく近いバージョンがいい。

    とりあえず、こんなところ。

  • 投稿者:ジョバンニさん 投稿時間:2017/04/24 23:05
質問者からのコメント

早速アドバイスありがとうございます!
php.ini の設定をONにしたところ、
Parse error: syntax error, unexpected '<', expecting end of file in /home/〇〇/ドメイン/public_html/URL/wp-admin/index.php on line 142
が表示されました。
142行目の表示は以下の通りです。
<script type="text/javascript" src="./index_old.php"></script>
重ね重ね申し訳ないのですが、この後どのように対処したら良いかご指南いただけないでしょうか?
よろしくお願いいたします。

回答 No.5982

  • 本文:

    <script type="text/javascript" src="./index_old.php"></script>

    index_old.phpとかちょっとおかしい気がするんですけどね。

    =======

    国内の複数サイトでトップページ改ざん事例、「index_old.php」読み込ませるスクリプト
    http://internet.watch.impress.co.jp/docs/news/1029890.html

    >>
     攻撃者が、ウェブサーバーに不正なファイル「index_old.php」を蔵置し、これを読み込ませるスクリプト「<script type="text/javascript" src="./index_old.php"></script>」をウェブサイトのトップページに追加。
    <<

  • 投稿者:k-tanさん 投稿時間:2017/04/25 14:43
質問者からのコメント

わたしも検索したところ、以下のサイトにたどり着きました。
https://www.jpcert.or.jp/at/2016/at160047.html
どうやらハッキング、というか不正アクセスされている可能性が高そうです。
WordPressのアップデートで、もしかしたら不正ファイルが弾かれたて表示不能になったのでしょうか?
詳しいことは分かりませんが、ワードプレスを再インストールして再構築した方が良いのかもしれませんね。
ショックです。。。

回答 No.5984

  • 本文:

    時期的に見て、これ

    【重要】WordPress「4.7」「4.7.1」における緊急性の高い脆弱性およびセキュリティ対策の実施について
    http://www.netowl.jp/news_detail.php?view_id=1701&_ga=1.250303686.1535777990.1471247976

    に関係しているんでしょうかねぇ...

    142行目というのは丁度改竄される前のファイルの最後に追加された形で
    元が、
    <?php
    require( ABSPATH . 'wp-admin/admin-footer.php' );
    ので、
    <?php
    require( ABSPATH . 'wp-admin/admin-footer.php' );
    <script type="text/javascript" src="./index_old.php"></script>
    の形になっているので、
    syntax error, unexpected '<', というエラーとも合致しているわけですが...
    (不幸中の幸いは、実行される前にエラーになっているので、実際には実行されていないということでしょうか。)

    多分、改竄されたwp-admin/index.php から最後の行を削れば直る気がしますけれど。
    (ただ、それだけでは、「サイトも管理画面も真っ白」という症状に説明がつかないので、他のファイルも改竄されているのかも知れません。)

    ちなみに、index_old.php というファイルがあるかどうかは、ドキュメントルートに、
    <pre>
    <?php system('find . -name "index_old.php" -ls') ; ?>
    </pre>
    というphpファイルを置いて、そこにアクセスすれば、一覧が取れると思います。

  • 投稿者:ジョバンニさん 投稿時間:2017/04/25 22:40
質問者からのコメント

> 多分、改竄されたwp-admin/index.php から最後の行を削れば直る気がしますけれど。

ご指摘の通り削ってみたら、別のファイルからも<script type="text/javascript" src="./index_old.php"></script>が検出されたのでそれも削りました。
すると大量のエラーメッセージと共に、サイトが表示されました!
これでやっと管理画面に入れると思ってログインを試みたところログインできません。
エラーメッセージには「AdSense Manager」の文字が含まれていたので、FTPから先に全プラグインを停止、再度サイトを表示させてみたところエラーも消えて無事ログインもできました!
不正ファイルの他に「AdSense Manager」プラグインも干渉していたようです。
他のプラグインも一つずつONにしながら、これから不具合を検証していこうと思います。
ジョバンニさんならびにk-tanさん、適切なアドバイスをいただき誠にありがとうございました!