コードを変更されるというのはかなり困った状態ですね。
原因が何かはまだ分かりませんが以下のことを試す価値はあると思います。
現在使用中のFTPアカウントを削除し新しく設定する。
使用中DBユーザーを削除し新設する。
どちらも削除ができないなら、少なくともパスワードを変更する。
を現在使用しているマシン、ネットワーク以外から行う。
2点教えてください。
・テーマをデフォルトに戻すとどうなりますか?
・プラグインをすべてを停止するとどうなりますか?
taiさん、
>2点教えてください。
>
> ・テーマをデフォルトに戻すとどうなりますか?
> ・プラグインをすべてを停止するとどうなりますか?
現在、テーマはデフォルトに戻して、プラグインもwp-spamfree以外は外しています。
wp-spamfreeを外すとspamコメントが殺到するので、これだけは外した状態で再現することを確認してアクティブにしました。
テーマは、defaultを新しい2.7.1のwp-contentから持ってきた素のものを使っています。
よろしくお願いします。
taikikenさん、
とりあえずWordPress上のアカウントのパスワードとftpのパスワードは変更してあります。
DBのパスワードはいじっていないのですが、これも変えた方がよさそうですね。
ahaseg さん
WordPress というよりサーバーがハックされている可能性があるのでその旨をサーバー管理者に伝えてください。
WordPress に不正なログインがあるかを調べるには以下のプラグインが使えます。
http://wordpress.org/extend/plugins/admin-ip-watcher/
コンテンツを消されたりしないよう、また現状を残しておくという意味で全コンテンツのバックアップを取っておくといいかもしれません。
tenpuraさん、
いくつかWordPressをインストールしていまして、また静的なHTMLコンテンツもアップしていますがそれらではこの現象は起きていません。
また、このWordPress上でも404エラーが出る画面等では出ていないようです。
Archive/以下だと違う広告が出ます。
同様の事例を探っているのですがなかなか見つかりません。
英語のフォーラムのほうで聞いてみた方がよいですかね。
ahaseg さん、
tenpuraさんもお書きになってますが、状況からサーバーがハックされている可能性が高いです。なのでまずはサーバー管理者に状況を伝えてください。
ahaseg さん、
何点か確認させてください。
1) テーマは元からデフォルトを使っていたのでしょうか、それとも元は別のものを使っていて、今回テストのためにデフォルトに戻されたのでしょうか。デフォルト以外のテーマでも同様の現象が見られますか、それとも別のテーマに変えたら違いが見られるでしょうか。
2) HTML のソースを貼られていますが、これはどのようにして確認したものですか。body のあとに、と書かれていますが body のすぐ後でしょうか、それとも間に何か入るのでしょうか。公開可能なサイトであれば URL を教えてください(こういったケースで公開不可能なサイトについて外から助言するのはそもそも困難ですので予めご了解を)。
3) WordPress のバージョン、PHP、MySQL、OS 等々のバージョンなど、基本情報を教えてください。ホスティングサーバーをお使いでしたらどこのどのサーバーか、わかる範囲で詳しく教えてください。
taiさん、
なるほど、ちなみに某さくらのレンタルサーバ上で運用していますが、別にインストールしたWordPressでは発生していないのが若干謎ではあります。
いずれにせよサーバ側に問い合わせてみたいと思います。
takayukisterさん、
公開情報不足でした。申し訳ありません。
1)テーマはデフォルトと別なものとを切り替えながら使っていました。
今回の問題をblogの閲覧者から指摘されデフォルトに戻し、かつオリジナルのdefaultフォルダで差し替えたものを使っています。
別なテーマにしてもこの問題は発生します。
2)サイトは、
http://www.underconcept.com/blog/
です。
具体的には、<body>
タグのあとにこのSPAMが入っています。
通常はCSSで見えなくなっているために運営者の自分では気づきませんでしたが、CSSを切ると見ることができます。
3)バージョン情報は以下となります。
ホスティング: さくらのレンタルサーバ
PHP: 5.2.8
MySQL: 4.0.27
Apache: 1.3.39
WordPress: 2.7.1
よろしくお願いします。
状況から言って、確かに第三者にいじられている可能性が大ですが、こういう行為は「クラッキング」と言います。「ハック」と言ってはなりません。
# 質問者は別に構いませんが、tenpura さん, tai さんが「ハック」という言葉を使われたのは非常に残念でなりません。
# 解決後でいいですから、トピックタイトルを「クラック」に変更されることをお願いします。
「いちゃもん」はこれぐらいにして、基本的な問題切り分けとして、これはウェブブラウザーで見た HTML ソース *だけ* がいじられているんでしょうか (テーマファイル自体には広告コードが入ってない)。それとも、利用中のテーマファイル (index.php や header.php 等) 自体に広告コードが入ってしまっている (== テーマファイルが直接書き換えられてしまっている) んでしょうか。
前者ならば、WordPress のコアファイルのどこかに悪意あるコードが混ざってしまった可能性があります。この場合、バックアップをきちんと取って、関連ファイルをすべて消して再インストールすることをおすすめします (アップグレードでは悪い部分が残ることがあります)。このとき、http://ja.wordpress.org/ から WordPress を入手し直すのが確実です (手元にあるものを使ったり、ヨソから入手したものを使ってはいけません)。
後者の場合、サーバーに転送する前のローカルファイルに広告コードが載ってないか確認してください。そうでなければ、サーバーに誰かが侵入された可能性があります。さくらのサポートに早急に連絡して、対処を仰いでください。
taikiken さんも書かれていますが、いま利用中のコンピューターが汚染されている (ウイルス等により、第三者が自由にいじれる) 可能性があります。他にパソコンがあれば、ウイルスチェックをした上で、その端末を使って作業してください。パソコンが1台しかなければ、仕方ないのでウイルスチェックをかけて、その端末を使ってください。
さくらのサービスプランが何かは分かりませんが、レンタルサーバー側が侵入されることは可能性として低いです。
現在広告コードが入ってしまっているならば、閲覧者に迷惑がかかりますから、いったんサイトを閉鎖しておいた方が無難です。一番いいのは public_html 等の公開ディレクトリーのパーミッションを 700、ファイルは 600 にしてしまうことです。(調査のため、削除はしないでください)
Maintenance Mode を使う手もありますが、WordPress 自体は稼動してしまうので、あまり好ましくありません。
追加です、MySQL上では、以下のテーブルが確認できます。
(xxは自分でwp-config.phpで設定したprefixです)
xx_comments
xx_links
xx_options
xx_postmeta
xx_posts
xx_terms
xx_term_relationships
xx_term_txonomy
xx_usermeta
xx_users
lilyfanさん、
状況から言って、確かに第三者にいじられている可能性が大ですが、こういう行為は「クラッキング」と言います。「ハック」と言ってはなりません。
確かにその通りです。
不適切でした。
「いちゃもん」はこれぐらいにして、基本的な問題切り分けとして、これはウェブブラウザーで見た HTML ソース *だけ* がいじられているんでしょうか (テーマファイル自体には広告コードが入ってない)。それとも、利用中のテーマファイル (index.php や header.php 等) 自体に広告コードが入ってしまっている (== テーマファイルが直接書き換えられてしまっている) んでしょうか。
テーマファイルを切り替えたり、入れ直したりしても問題が再発することから、ご指摘の前者ではないかと思っております。
サーバからwordpressフォルダごとローカルに持ってきて(ダウンロードして)、ファイルの検索を行いましたが、該当のSPAMテキストは見つかりませんでした。
おそらくどこかのサーバを見に行っているのだと思いますが、その箇所は見つけられていません。
また、zipを展開したソースにwp-config.php、wp-contents/uploads/*だけ更新したものでも同じ現象が発生しています。
DBはまだなにも検証していないので、残るはDBなのですが、こちらはどこから手をつけてよいのか検討がつかない状況です。
よろしくお願いします。
使っていたプラグインおよびテーマはどんなものでしょうか?
プラグインかテーマの中に、広告をこっそり仕込むスクリプトが混入していた可能性が高いと思います。
みなさま、解決しました。
たいへんお恥ずかしい話ですがwp-config.phpをいじられていたようです。
wp-config.phpの冒頭に、
eval(base64_decode(‘aWYoZ・・・・CIpO319’)); ?>
というような文字列が埋め込まれており、base64の文字列部分をデコードしてみたところ、
if(preg_match(“/\<body/si”,$R3E33E017CD76B9B7E6C7364FB91E2E90)){return preg_replace(“/(\<body[^\>]*\>)/si”,”$1″.gml(),$R3E33E017CD76B9B7E6C7364FB91E2E90);}else{return gml().$R3E33E017CD76B9B7E6C7364FB91E2E90;}}ob_start(“dgobh”);
といった記述が見られましたため、ここが原因かと思われます。
($xxxxxxといった箇所が多く、全体は読み取れていません)
ソースを差し替えた際も、wp-config.phpは古いものを流用していたため、見逃してしまっておりました。
この部分がどういった経緯で混入したのか現時点で不明ですが、一旦解決かと思っております。
いろいろ助言いただきましてありがとうございました。
また、wp-config.phpという初歩的な部分でお騒がせしてしまったことをお詫びいたします。
なお、トピックタイトルをハックからクラックに変更したいと思っておりますが、方法がわかりません。管理者さまにお願いすればよいのでしょうか?
最後まで質問で恐縮ですが、どなたかご教示いただければと思います。
よろしくお願いします。