web-dev-qa-db-fra.com

D'où proviennent ces messages spammés?

En effectuant une recherche Google aléatoire, je me suis rendu compte que mon blog WordPress contenait plusieurs messages de spam.

Ex: (intentionnellement déliée)

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

Et beaucoup d'autres tels sur la barre latérale.

Au début, je pensais que mon installation de WordPress était compromise et, en analysant de plus près, j'étais perdue.

  • Les messages n'apparaissent nulle part dans ma base de données (attendue), ni sur le système de fichiers sous forme de fichiers plats ni de fichiers téléchargés (attendu)
  • Je ne trouve aucun eval() ou base64_decode mal fait, du moins pas au premier coup d'œil
  • Même après avoir changé le thème WordPress, ces publications sont diffusées avec le même thème qu’avant le changement.

J'ai:

  • Scanné à l'aide du scanner Exploit
  • Vérifié pour evals/base64_decode/php shortcodes etc comme mentionné dans WP Codex
  • Ajout d'un commentaire sur le pied de page et cela ne se reflète pas sur les messages spammés, mais sur les messages "réels"
  • les journaux d’accès à nginx indiquent que les publications sont en cours de diffusion depuis mon serveur.

Alors, d'où viennent ces messages?

6
Sathyajith Bhat

Il s'avère que l'installation WordPress a été compromise. J'ai fait un diff de mon installation existante contre un nouveau WordPress installer, et diff a signalé un nouveau fichier:

# diff -qr wordpress_installed/ wordpress_new/

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

J'ai aussi trouvé que wp-config.php avait été modifié pour inclure ceci

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

Fichier Fishy en effet, c'était ce que le fichier contenait:

http://Pastebin.com/Mr7N09Pq (lié à external car il supprime le surligneur de la syntaxe de Stack Exchange)

Supprimer le fichier et édité wp-config.php pour supprimer l'inclusion a supprimé les messages de spam, pour l'instant.

J'ai également changé les mots de passe utilisateur/db et les sels régénérés en utilisant ce lien .

la prochaine étape consisterait à effacer le Wordpress installer, réinstaller et restaurer à partir d'une sauvegarde.

5
Sathyajith Bhat