IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les pirates commencent à exploiter la faille de l'API REST de WordPress pour arnaquer les utilisateurs
Plus d'un million de sites sont vulnérables

Le , par Olivier Famien

228PARTAGES

7  0 
Au début du mois de février, plus d’un million de sites web WordPress ont fait les frais de plusieurs campagnes de défaçage. Des pirates ont exploité une faille de l’API REST présente dans les versions 4.7 et 4.7.1 du CMS WordPress afin de modifier les publications sur les sites gérés par le CMS, défigurant ainsi ces sites vulnérables. Ces campagnes de défaçage étaient si intenses qu’il a même été rapporté que plus de 90 ;000 pages web ont été défacées par seulement quatre groupes de hackers. Et dans plusieurs cas, l’on notait même que certains pirates écrasaient les défaçages effectués par d’autres pirates afin de laisser leurs propres empreintes sur ces sites exposés.

Pour mieux comprendre comment ces pirates sont parvenus à défigurer autant de sites avec succès, il faut savoir que l'API REST introduite dans les versions 4.7 et 4.7.1 permet d’afficher, de modifier, de supprimer ou de créer des publications. Vu qu’elle est activée par défaut dans ces deux versions, les pirates envoient simplement une charge utile (code malicieux) vers l’API REST, ce qui leur permet d’élever leurs privilèges et de modifier les publications sur les sites WordPress vulnérables. Selon Logan Kipp de l’entreprise de sécurité SiteLock, son « ;confort d’exécution est si faible et si facile que nous voyons des pirates amateurs prendre cet exploit et s’en donner à cœur joie ;». Cette faille a même été exploitée en exécutant du code à distance sur ces sites ayant les plug-ins Insert PHP, Exec-PHP ainsi que d’autres plug-ins similaires. En principe ces plug-ins permettent aux utilisateurs d’insérer directement dans les publications du code PHP afin d’effectuer plus facilement des personnalisations. Aussi, en couplant cette faille à ces plug-ins, les attaquants sont en mesure d’exécuter du code PHP tout en injectant du contenu dans les bases de données.

Même si ces campagnes sont assez persistantes, certains experts expliquent qu’elles ne durent pas longtemps, car les pirates trouvent difficilement les moyens de tirer des avantages pécuniaires. Toutefois, depuis quelques jours, l’on note une escalade dans les pratiques de ces tiers malveillants. En effet, ces derniers ont commencé à chercher les voies et moyens pour se faire de l’argent en exploitant cette faille. La trouvaille qu’ils ont eu à faire est de mettre sous les mots laissés sur les sites défigurés des liens renvoyant vers un site de pharmacie en ligne proposant un médicament pour lutter contre le dysfonctionnement érectile. SiteLock qui en a fait la découverte explique que si un internaute venait à entrer ses identifiants de carte de crédit afin d’acheter ce produit, ses identifiants seraient enregistrés et utilisés par ces pirates pour faire des achats ou vendus à d’autres personnes dans le pire des cas.

Pour se prémunir contre ses attaques, il est fortement conseillé de faire la mise à jour de WordPress en passant à la version 4.7.2 disponible depuis le mois de janvier. En principe, les CMS WordPress des utilisateurs devraient être à jour, car la mise à jour automatique est activée par défaut dans le produit. Mais si, comme le souligne Kaspersky, plus de 1,5 million de sites web sont encore exposés à ces attaques, c’est que les utilisateurs ont certainement préféré désactiver cette fonctionnalité.

Pour celui qui fait face à ce cas de défaçage de son site ou un site tiers, il est recommandé, en attendant de faire la dernière mise à jour, de le traiter comme s’il avait affaire à une à l’exploitation d’une vulnérabilité de type XSS en faisant le ménage au niveau des valeurs pointant vers le contrôleur de l’API.

Source : SiteLock, Kaspersky

Et vous ?

Que pensez-vous de cette situation vu qu’un correctif est déjà disponible ;?

Est-ce de la négligence de la part des utilisateurs de WordPress ;?

Voir aussi

WordPress sort en urgence la mise à jour 4.7.2 pour corriger trois failles de sécurité incluant une faille de type injection SQL et XSS
WordPress : Plus de 90 000 sites et blogs seraient victimes d'attaques lancées par quatre groupes de hackers altérant ainsi leur contenu
WordPress est de loin le CMS le plus ciblé par les cyberattaques en grande partie en raison du mauvais entretien et la négligence des webmasters

La Rubrique Web, Forum Sécurité Web, Cours et tutoriels Web, FAQ Web

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Geoffrey74
Membre éclairé https://www.developpez.com
Le 24/02/2017 à 7:06
Voila pourquoi j'évite autant que possible l'utilisation de CMS, toujours à la merci d'une faille que peut ne pas être comblée rapidement

371 000 résultat ce matin !

Je l'ai vu à mainte reprise, souvent des "développeur" propose la mise en place d'un site pour quelques centaine d'euros, en posant un wordpress, un thème gratuit et hop, c'est en place.
Au départ tout est à jours (et encore pas toujours), mais avec le temps, aucun suivi n'est fait et le propriétaire n'y connaissant rien, pense que tout est OK et ne se doute même pas que leur site n'est pas à jour et sécurisé.

Vrai question, un webmaster peut il est inquiété pour ce genre de chose ? Même si il n'est pas sous contrat, doit il avoir un devoir de morale envers ses clients ?
1  0 
Avatar de Jarodd
Membre expérimenté https://www.developpez.com
Le 24/02/2017 à 9:46
S'il n'est pas sous contrat, que le client n'a pas payé pour de la maintenance, on ne peut rien reprocher au développeur. Il ne va pas bosser gratuit non plus...
Par contre il a un devoir de conseil, il doit avertir son client qu'il existe toujours un risque d'exploitation de failles, notamment si on n'est plus à jour, qui est plus répandu avec un CMS qu'avec une solution développée, au client de faire son choix (c'est pas le même tarif). Il y a certains clients qui demandent qu'on leur mette en place le site, et ensuite ils font eux-même les mises à jour, donc la maintenance n'est pas de la responsabilité du développeur.
0  0 
Avatar de jfsenechal
Membre averti https://www.developpez.com
Le 24/02/2017 à 10:00
les pirates envoient simplement une charge utile vers l’API REST, ce qui leur permet d’élever leurs privilèges
Ca consite en quoi, quelqu'un sait m'expliquer ?
0  0 
Avatar de SkyZoThreaD
Membre expérimenté https://www.developpez.com
Le 24/02/2017 à 13:20
La charge utile ou "payload", c'est du code exécutable sous forme de texte qu'on fait passer par une faille de sécurité (un dépassement de tampon ou "overflow" la plupart du temps) et qui s’exécute sur la machine de la victime.
Comme le code n'est pas attendu par la machine, il est exécute sans contrôle de l'OS et obtient tous les droits sur le système.
La plupart du temps, les payloads sont très petits et permettent uniquement de créer une connexion avec la machine de l’attaquant qui reçoit un accès root par une connexion tcp.
Les firewalls standards n'aident pas car la demande de connexion vient de la machine de la victime et le firewall laisse passer les connexions dans ce sens là.
0  0 
Avatar de kilroyFR
Membre éprouvé https://www.developpez.com
Le 25/02/2017 à 14:54
Pas la peine de jeter la pierre aux developpeurs du CMS. Combien d'entreprises ont des developpeurs qui comprennent techniquement a peine ce qu'ils font et autorisent ce genre de trous de securité.
J'ai tendance a croire que l'efficacité a resoudre ce probleme est meilleure sur des CMS que sur des applis "maisons" pour lesquelles toutes les securité de base sont souvent omises parce que codé a l'arrache. Au moins le CMS fait deja un minimum.
Ce sont souvent les logiciels les plus populaires qui sont attaqués; ca ne veut pas dire pour autant qu'ils sont codés avec les pieds. Bon ok ils en ont trouvé une qui sera patchée et basta. On a eu le cas recemment avec Mongodb ou là c'etait plus grave puisqu'il s'agissait de vidage de BDD complet ! Là c'est plus problématique.
0  0 
Avatar de Geoffrey74
Membre éclairé https://www.developpez.com
Le 26/02/2017 à 12:05
Citation Envoyé par kilroyFR Voir le message
Pas la peine de jeter la pierre aux developpeurs du CMS.
D'accord avec toi, quand j'entends le mot développeurs, je comprend quelqu'un qui maitrise, ou connait un minimum.
Je parlais plus précisément des personnes qui n'y connaissent strictement rien et qui utilisent ces CMS pensant cela sûre et utilisent moulte plugins pour faire "beau".

Après ce n'est que mon avis, mais j'ai tendance à penser que plus on utilise de plugins externe, plus le risque de faille est important.
0  0 
Avatar de SurferIX
Membre chevronné https://www.developpez.com
Le 01/03/2017 à 22:18
Allez, voici un exemple que je donne sur l'opérateur ternaire à "utiliser avec parcimonie" = une seule fois à mes étudiants.
Le code source officiel de Wordpress, ligne 600 :
https://github.com/WordPress/WordPress/blob/master/wp-admin/includes/class-wp-comments-list-table.php

Code : Sélectionner tout
( ( ( 'approve' === $action || 'unapprove' === $action ) && 2 === $i ) || 1 === $i ) ? $sep = '' : $sep = ' | ';
Ce code est impossible à comprendre donc impossible à déboguer.
Oui oui c'est bien dans l'administration. Dossier wp-admin.

Sur les lignes qui suivent, une fois un if avec accolades, une fois sans, une fois l'utilisation des guillemets, une fois des côtes, les lignes suivants sont des aberrations.

Sérieusement, si on accepte de garder du code aussi pourri dans le coeur même de Wordpress, ne peut-on pas s'attendre au pire ?

La seule chose amusante en se balladant dans le code source, c'est qu'on peut presque voir le profil des développeurs : "tiens, là il y avait un bon", "tiens, là c'était un débutant", "tiens, là des gifles se perdent".
0  0 
Avatar de psykokarl
Membre confirmé https://www.developpez.com
Le 02/03/2017 à 8:38
Isoler une ligne de code de son contexte la rend forcément incompréhensible pour ceux qui ont un peu de mal avec les raisonnements abstraits, même quand celle ci est extraite d'un "bon" code.

Je ne vois pas pourquoi l'opérateur ternaire devrait être utiliser avec parcimonie. C'est une structure simple qui tient sur une ligne et qui ne nécessite pas que l'on se ballade sur des dizaines de fichiers pour en comprendre l'utilité.
L'utilisation qui en est faite est peu orthodoxe de mon point de vue mais dans la mesure ou le code fonctionne il est évident qu'il s'agit d'un "if-else" sur une ligne de plus, allez comprendre pourquoi, les types qui conçoivent les tests d'embauche sont friand d'utilisation non orthodoxes de features... Le seul reproche que je pourrais faire à cette utilisation c'est que l'affectation de variable ne saute pas aux yeux quand on est pressé mais je tends à me concentrer assez vite sur les éléments de code qui posent problème et à négliger même les structures utilisée de façon classique. Sans regarder le reste du code (dois aller bosser), si d'aventure j'ai besoin de savoir à quoi sert la variable $sep qui l'affectation conditionnel à la valeur "|" m'indique qu'il s'agit probablement du $sep de "separator" probablement une construction de chaine qui compte, séparation présumée nécessaire quand la variable $i (incrément contextuelle ?) est égale à 2 ...
0  0 
Avatar de cboulan
Candidat au Club https://www.developpez.com
Le 02/03/2017 à 9:45
Bonjour,

La vulnérabilité de Wordpress est elle également effective pour une version du CMS plus ancienne que la 4.7 ou 4.7.1 (exemple 4.3.8) ?

Cordialement,
0  0 
Avatar de SurferIX
Membre chevronné https://www.developpez.com
Le 02/03/2017 à 10:11
Citation Envoyé par psykokarl Voir le message
Isoler une ligne de code de son contexte la rend forcément incompréhensible pour ceux qui ont un peu de mal avec les raisonnements abstraits, même quand celle ci est extraite d'un "bon" code.
Je ne vois pas pourquoi l'opérateur ternaire devrait être utiliser avec parcimonie.
Euh t'es vraiment en train de dire que un ternaire dans un ternaire dans un ternaire c'est pas gênant pour comprendre un code ? Sérieusement ?

T'es vraiment le genre de personnes qui disent "ah bah allez, fumer une cigarette de temps en temps c'est pas grave rôooooooooh"...

Je suis peut être un peu extrémiste et comme je n'ai jamais fumé de ma vie (véridique, je ne fais jamais quelque chose juste "pour faire comme tout le monde" (90% des fumeurs le font)), j'ai tendance à me comporter pareil pour le code : un ternaire dans un ternaire dans un ternaire est incompréhensible, et si un type met ça comme code c'est forcément que ça ne le dérange pas d'avoir du bordel. Et forcément, le bordel, tout le monde en pâtit, tôt ou tard. Mais là non seulement je suis un peu extrémiste mais aussi vieux, et c'est mon expérience qui parle....
0  0