web-dev-qa-db-fra.com

Comment les crackers téléchargent-ils les scripts php dans le répertoire wp-content de Wordpress?

J'ai vu un site qui a été attaqué en téléchargeant des scripts php (probablement une sorte de Shell, ou du code qui charge un Shell) dans le répertoire wp-content/uploads de Wordpress. Habituellement, ce répertoire est utilisé pour le contenu téléchargé par l'utilisateur, comme les photos, etc. Ce serveur particulier a été configuré pour exécuter ensuite les scripts malveillants pour tout utilisateur sur Internet (avec la connaissance de l'URL correcte).

Comment cela marche-t-il? Comment le pirate obtiendrait-il wordpress pour placer le fichier php dans le répertoire uploads sans compte utilisateur? Je ne fais que le tristement célèbre et inspecific "ouais, wordpress is pas sécurisé "type de problème?

14
Thomas

Je ne dirais pas que la cause première du problème est Wordpress, mais plutôt le fait que:

  • Il y a tellement de thèmes/plugins pour Wordpress disponibles auprès des développeurs tiers, et les gens ne les auditent généralement pas avant de les installer. Depuis la barrière d'entrée pour PHP = est très faible, beaucoup de ces développeurs tiers n'ont pas ou peu de connaissances en sécurité informatique

Je pense que l'un des scénarios les plus possibles est celui où une configuration Wordpress est configurée avec un plugin/thème qui permet des téléchargements anonymes. Un exemple est le Clockstone Theme upload.php Arbitrary File Upload Vulnérabilité .

Fondamentalement, vous

  1. Vous devez vous assurer que les téléchargements non autorisés/anonymes ne sont pas autorisés
  2. Déplacer les fichiers téléchargés hors du répertoire racine Web
  3. Vérifiez le contenu pour vous assurer que seul ce que vous attendez est téléchargé et enregistré

La page sur nrestricted File Upload sur le site Web de l'OWASP contient de très bonnes explications sur le sujet.

13

Je suis d'accord que les plugins et les thèmes peuvent être problématiques, mais je veux ajouter trois autres suggestions concernant l'utilisation des plugins:

  1. Vous devez vous assurer que vous utilisez la dernière version des plugins WordPress ET ).
  2. Parcourez vos plugins et supprimez tout ce dont vous n'avez vraiment pas besoin. Essayez de remplacer les plugins par du code dans la mesure du possible.
  3. Soyez plus sélectif sur le téléchargement des plugins (qui l'a créé, quand et à quelle fréquence est-il mis à jour).

Les développeurs tiers, même s'ils manquent peut-être initialement de problèmes de sécurité, proposent des mises à jour pour couvrir les problèmes de sécurité - mais une partie de la responsabilité incombe également à l'utilisateur WP. J'ai ignoré les mises à jour car elles ont fait plus de travail pour moi à court terme, mais à long terme a posé beaucoup de problèmes.

Il s'agit des conseils d'un consultant que nous avons engagé pour nous aider à sécuriser nos sites Web après le piratage de nos fichiers .php.

5
Rae

Créez un fichier vierge dans un éditeur de texte. Appelez-le .htaccess et collez-y le code suivant:

<Files *.php>
    deny from all
</Files>

Téléchargez maintenant ce fichier dans votre dossier/wp-content/uploads /.

Explication du code: ce code recherche tout fichier PHP et en refuse l'accès.

4
Paul S.