Attaque du weblogue !
Ce matin (lundi 28 juin 2010), je recherche sur le site un vieil article sur la qualité du code source Java. Tiens, c’est étrange. Seul le premier mot du titre des articles s’affichent. Je vérifie le code HTML de la page. Non, ce n’est pas un problème d’affichage !? Je tente de me connecter sur l’interface d’administration et paf ! Firefox m’indique que je suis sur un site suspect et qu’il refuse d’afficher la page.
Je vous passe toute l’étape d’analyse, de mise hors-ligne du site, etc… Le site a été victime d’une attaque se basant sur une faille de type XSS (qui pointait vers yadr0.com). Je ne peux m’en vouloir qu’à moi-même car ça fait bien trop longtemps que je me dis que je dois mettre à jour mon WordPress qui est resté en version 2.1.2 ! Et pourtant, ce n’est pas le nombre de failles WordPress qui manque.
A celà, s’ajoute la mésaventure de la récupération de la sauvegarde de la base de données. En effet, mon hébergeur propose une sauvegarde journalière et hebdomadaire. Le soucis, c’est que l’attaque a eu lieu vendredi soir (le 25 juin 2010) et que je m’en suis rendu-compte que lundi. Or, la sauvegarde hebdomadaire à lieu tous les dimanche. Et non, ce n’est pas une sauvegarde hebdomadaire glissante. 🙁
Après avoir mis le site hors-ligne, j’ai donc installé la dernière version de WordPress puis supprimé tout le code malicieux présent dans les articles. Je suis ensuite aller sur Webmaster Tools pour demander à Google d’analyser le site et valider qu’il n’y a plus de logiciel malveillant sur celui-ci.
Lors de la migration de WordPress 2.1 à 3.0, il y a eu un problème d’encodage. Du coup, tous les accents sont mal encodés. Voilà pourquoi, vous n’allez pas retrouver tous les articles pour le moment. Le site va tourner un mode dégradé pendant un certain temps. Je suis vraiment désolé pour la gêne occasionnée.
Si jamais vous souhaitez avoir accès à un article bien précis. Veuillez me le signaler. Je le mettrai dès que possible en ligne.
Reste à faire :
- vérifier l’intégrité des toutes les bases de données de l’hébergement
- vérifier l’intégrité de tous les scripts hébergés
- changer les mots de passe
- récupérer tous les titres des articles
- trouver un script pour corriger l’encodage des articles
- vérifier le fonctionnement de tous les plugins
- vérifier la compatibilité du thème avec WordPress 3.0
Si quelqu’un a quelques informations pour comprendre le comment et quoi de l’attaque de ce week-end, je suis preneur. De même, si quelqu’un a un script qui permet de corriger l’encodage des articles, je lui en serais très reconnaissant.
Je sens que la semaine va être très longue… :-/
https://blog.lecacheur.com/2010/06/28/attaque-du-weblogue/WordPress Zoneblog,securitéCe matin (lundi 28 juin 2010), je recherche sur le site un vieil article sur la qualité du code source Java. Tiens, c'est étrange. Seul le premier mot du titre des articles s'affichent. Je vérifie le code HTML de la page. Non, ce n'est pas un problème d'affichage !?...SeBSébastien LECACHEUR23r0@laposte.netAdministratorLe weblogue de SeB
Pour les accents, il aurait fallu le faire au moment de la migration de la base de données. Maintenant il est trop tard. Des infos ont été perdues et il n’y a aucune moulinette qui puisse quoique ce soit pour toi.
Si WordPress change de jeu de caractères au passage de version, il aurait fallu faire ce changement sur la base avant la migration WordPress (pour MySQL: ALTER TABLE tbl_name CONVERT TO CHARACTER SET charset_name;).
Vu le boulot que ça représente après coup, et vu que maintenant tu sait ce qui n’allait pas sur ce qui est sauvegardé, il est sans doute plus simple de repartir de la sauvegarde (base +WP), migrer le jeu de caractères au niveau BD puis refaire la migration WordPress et les corrections (en faisant une sauvegarde avant bien sûr…).
Effectivement, j’aurais peut-être pu exporter la base des articles avec l’ancien WordPress puis l’importer avec la nouvelle installation. Merci pour toutes tes informations Laurent !
Tout compte fait, j’ai réussi à corriger le gros des accents via des requêtes SQL. Comme toujours, c’est le a accent grave qui a posé problème. J’ai dû exporter la base de données puis réencoder le script SQL avant de le réimporter. Je suis sûr qu’il reste encore quelques accents mal encodés à droite ou à gauche. Enfin, c’est déjà ça. 🙂
Maintenant, je dois mettre en place un vrai système de sauvegarde de mes bases de données. Je pense même y intégrer un script de contrôle de compromission des données.
Même type d’attaque (hier) pour http://double.horizon.free.fr (petite association humanitaire !). Je n’arrive pas à éradiquer le problème (je ne souhaite pas monter de version tout de suite, mais prioritairement rétablir la situation).
Merci pour votre billet, le seul que j’ai actuellement trouvé sur ce yadr0.
J’ai réussi à repérer que 31 billets sur 170 avaient été « enrichis » d’un code malicieux. J’ai nettoyé ces 31 billets … mais le problème demeure.
Je ne vois pas quoi faire d’autre pour le moment. Une piste ? (d’avance merci).
Laurent
PS : à l’évidence, une montée de version 2.1.2 > 3.0 (qu’il me faudra aussi faire) n’est pas si simple … mais j’imagine que c’est documenté quelque part.
Laurent,
J’ai bien peur que tu sois obligé de mettre à jour WordPress. Je te conseille de faire une sauvegarde de ta base de données et une autre de ton installation de WordPress. Ensuite, tu peux faire une exportation de tes articles avec un plugin WordPress. Puis, tu installes la nouvelles version de WordPress en la configurant pour utiliser ta base de données actuelle. Si tu rencontres des soucis d’encodage des accents, tu peux importer les articles précédemment exportés. N’oublie pas de réinstaller tous tes plugins, ton thème et tous les fichiers de ressources (uploads, images, etc…).
Bon courage !
PS : Penses à changer tes mots de passe. 😉