Récupérer un site WordPress hacké

Les attaques de sites se multiplient et la rançon du succès planétaire de WordPress expose d’autant plus ses utilisateurs.

Je l’ai déjà dit, commencez par utiliser des thèmes et extensions de qualité et qui sont maintenus dans le temps. Si une extension est trop ancienne, cherchez une alternative rapidement pour limiter les risques.

Ce n’est pas la taille qui compte

Mais venons-en à l’objet de ce billet : le site d’un client d’un ami qui s’est ramassé une attaque en bonne et due forme avec à la clé la perte des données. Et bien entendu pas de sauvegarde car chez OVH, on vous vend de l’espace disque qui ne sert pas à grand chose et des accélérateurs bien inutiles quand les données sont perdues plutôt qu’une vraie solution de sauvegarde.

L’offre de MonArobase est tarifée dans les mêmes eaux mais propose de vrais outils pour sauvegarder et restaurer son site en cas de problème. Voilà pourquoi il faut arrêter de regarder les chiffres et s’attacher au service fourni par son hébergeur.

Retrouver ses données

Si le site n’est pas trop récent il y a de bonnes chances que le cache de Google et que les « snapshots » d’Archive.org soient d’un grand secours.

En effet, dans le cas qui m’intéresse ici, nous avions bien un export du site (fait via WordPress en XML) datant de quelques semaines mais rien d’autre. Et contrairement à ce que vous pensez, cela ne suffit pas. C’est la sauvegarde de la base de données qui compte véritablement !

L’export WordPress contient tous les contenus saisis mais comment récupérer les personnalisations du thème, les « sliders » programmés dans les extensions, etc ?

Après avoir réinstallé un WordPress, rétabli le thème et les extensions et importé les données XML il manque le retour de quelques textes récents, des styles personnalisés et quelques éléments comme les « sliders ».

Récupérer avec style(s)

Un petit tour sur Archive.org et je retrouve un instantané du site quelques jours avant l’attaque. Je lorgne la source HTML de cette « copie » et ne tarde pas à y découvrir plein de choses intéressantes : les ajouts à la feuille de styles (en vrac) et les « sliders » (en code brut).

recuperation-styles

Copier. Collé. Les styles sont de retour dans la personnalisation du thème utilisé.

Surf and sliders

Pour les « sliders » (ici l’extension LayserSlider), l’opération est moins marrante mais tout à fait faisable. On retrouve le code détaillé qui permet d’identifier les diapos, leur contenu et le paramétrage.

sliders

Un peu de nettoyage pour identifier les éléments, un peu de logique et on peut vite retrouver les informations importantes pour les réintégrer.

recuperation-slide

parametrage-slider

Textes à cache-cache

Les derniers textes qui ne sont pas dans la sauvegarde peuvent être retrouvés dans le cache Google si le site a été indexé et que le hack est récent.

Une recherche avec l’opérateur « site: » suivi du nom de domaine liste les pages. Il suffit ensuite d’afficher le cache et recopier les contenus.

Plus compliqué qu’une sauvegarde

Ce billet ne vise pas à détailler toutes les opérations menées (parfois assez techniques) mais à donner quelques idées pour retrouver ses données.

Reste que mettre en place, en amont, une stratégie de sauvegarde, manuelle ou automatique, est bien plus pratique !

Si vous voulez sauvegarder vos données à la main, pensez au minimum à télécharger le contenu de votre FTP et à réaliser un export de la base de données. Seule véritable sauvegarde intégrale. Mais par principe, pensez à aller dans les options du thème et celles extensions majeures pour réaliser un export des données correspondantes.

Si vous souhaitez automatiser les sauvegardes vous pouvez envisager BackWPup ou WordPress Backup to DropBox.

La solution la plus pratique reste une sauvegarde au niveau du serveur telle que celle que propose MonArobase sur ses offres d’hébergement, quel que soit l’outil utilisé (WordPress, Magento, etc).

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>