web-dev-qa-db-ja.com

これらのスパム投稿はどこから生成されますか?

ランダムなGoogle検索を行っているうちに、私のWordPressブログにスパムの投稿がいくつかあることに気付きました。

例:(意図的にリンク解除)

  • http://example.com/2016/02/06/free-download-wallpaper-ringtones-mobile/
  • http://example.com/2016/02/06/under-the-dome-seizoen2/

そして、サイドバーにはもっとたくさんあります。

最初はWordPressのインストールが危険にさらされていると思い、さらに分析を進めて行きました。

  • 投稿は、db(expected)のどこにも見られず、ファイルシステム上でフラットファイルまたはアップロードされたファイル(expected)として表示されません。
  • eval()またはbase64_decodeが間違っているのを見つけることができません。少なくとも最初は一目見ません
  • WordPressテーマを変更した後でも、これらの投稿は変更前と同じテーマで配信されます。

私は持っています:

  • エクスプロイトスキャナーを使用してスキャン
  • WP Codex に記載されているように、evals/base64_decode/phpショートコードなどをチェックしました
  • フッターにコメントを追加しましたが、これはスパムの投稿には反映されませんが、「実際の」投稿には反映されます
  • nginxアクセスログは、投稿が私のサーバーから提供されていることを示しています

では、これらの投稿はどこから提供されていますか?

6
Sathyajith Bhat

結局、WordPressインストールは実際に侵害されました。既存のインストールと新しいWordPressインストールの差分を作成し、差分が新しいファイルを報告しました。

# diff -qr wordpress_installed/ wordpress_new/

Only in wordpress_installed/wp-includes: class-wp-init.php

また、wp-config.phpが編集されて、これが含まれていることがわかりました

@include_once(ABSPATH . 'wp-includes/class-wp-init.php' );

怪しいファイル、これはファイルに含まれていたものです:

http://Pastebin.com/Mr7N09Pq (Stack Exchangeの構文ハイライターを強制終了するため、外部にリンクされます)

現時点では、ファイルを削除してwp-config.phpを編集してインクルードを削除すると、スパムの投稿が削除されました。

また、 このリンク を使用してdb/userパスワードを変更し、ソルトを再生成しました。

次のステップは、Wordpressのインストール、再インストール、およびバックアップからの復元を消去することです。

5
Sathyajith Bhat