Injections SQL : des attaques au cœur de votre site

Tobias Schüring Dernière mise à jour : 15.01.2020
6 Min.
Injections SQL

Outre les attaques deBrute Force , il y a encore et toujours WordPress Injections SQL figurent sur la liste des plus grands dangers pour les sites WordPress . Il s'agit de manipulations relativement faciles de la base de données de vos pages. Les pirates peuvent s'emparer de données sensibles ou créer leurs propres comptes d'administration et manipuler votre site à volonté. Nous montrons comment l'attaque fonctionne et pourquoi elle est si dangereuse.

Mars 2008 : des pirates informatiques (dont un véritable cerveau, soit dit en passant) obtiennent 134 millions de détails de cartes de crédit de la société américaine Heartland Payment Systems. Mi-2016 : Des pirates informatiques russes présumés accèdent à la base de données des électeurs inscrits du conseil électoral de l'État de l'Illinois. La même chose se produit en Arizona. Février 2017 : Les données de 65 000 comptes utilisateurs sont volées au vendeur d'armes américain Airsoft GI. Mars 2017 : des pirates informatiques chinois présumés obtiennent les données personnelles de 4 000 clients d'une application coréenne et envoient des SMS, parfois obscènes, aux victimes.

Toutes ces attaques ont une chose en commun : derrière elles se cache un piratage relativement facile à exécuter appelé injection SQL. Dans cette attaque, les pirates accèdent à la base de données et donc à toutes les données des utilisateurs sur une page. En fait, les injections SQL sont donc considérées comme l'un des plus grands dangers pour les opérateurs de sites web. Aussi et surtout pour les webmasters qui travaillent principalement avec WordPress .

Et comme, au plus tard depuis WooCommerce , les magasins plus grands et plus complexes peuvent être exploités sans problème avec WordPress , il est important de comprendre le risque de WordPress SQL Injection et son fonctionnement.

À quel point les WordPress SQL Injections sont-ils "dangereux" ?

La question de la "dangerosité" d'un piratage de WordPress ne peut être répondue en termes d'un seul indicateur. Il faut plutôt considérer au moins deux aspects : D'une part, la probabilité avec laquelle son propre projet WordPress -WordPress - peut être victime d'une telle attaque, ainsi que les dommages qu'un hack peut causer.

Avec les attaques deBrute Force , par exemple, le nombre d'attaques par mois est si élevé (dans certains cas plus d'un milliard d'attaques mesurées + nombre estimé de cas non signalés) que l'on peut en fait dire que chaque projet WordPress -WordPress - est tôt ou tard visé par une telle attaque. Les dommages qui peuvent être causés par un piratage réussi sont multiples. Dans la plupart des cas, les attaques de Brute Force servent également à détourner des sites web et à les intégrer dans un réseau de zombies. Le cross-site scripting, en revanche, est beaucoup moins fréquent, mais il sert principalement à infecter des sites web avec du code malveillant.

L'organisation à but non lucratif Open Web Application Security Project (OWASP) publie régulièrement une liste des 10 plus grands risques de sécurité pour les applications web. Et les injections SQL occupent constamment la première place ici, même sur la liste(bien que préliminaire) pour 2017.

Il s'agit d'un graphique du top 10 des plus grands risques de sécurité pour les applications web régulièrement publié par l'organisation à but non lucratif OWASP. Les injections SQL occupent ici la première place.
L'organisation à but non lucratif OWASP publie régulièrement une liste des 10 plus grands risques de sécurité pour les applications web. Les injections SQL y occupent régulièrement la première place.

En fait, les injections SQL sont là pour rester. Le hack existe depuis plus de 15 ans. Et selon le rapport d'Akamai sur l'état de la sécurité sur Internet pour 2017, la fréquence des attaques SQL a augmenté de 28 % depuis le premier trimestre 2016. Au premier trimestre 2017, les injections SQL ont représenté le hack le plus courant, représentant 44 % des attaques. 

Cela montre qu'au premier trimestre 2017, l'injection SQL était le hack le plus courant, représentant 44% des attaques.
Au premier trimestre 2017, l'injection SQL a représenté le piratage le plus courant, représentant 44 % des attaques, selon le rapport 2017 d'Akamai sur l'état de la sécurité sur Internet.

Wordfence, Le fabricant d'un logiciel de sécurité pour WordPress , arrive à la conclusion que les injections SQL représentent un grand danger, en particulier pour les utilisateurs de WordPress . Une analyse de près de 1 600 vulnérabilités de sécurité sur Plugins, qui ont été signalées sur une période de 14 mois, montre clairement que les injections SQL sont le deuxième risque de sécurité le plus fréquent de tous pour les sites WordPress .

Le graphique montre clairement que les injections SQL sont le deuxième risque de sécurité le plus courant pour les WordPress pages.
Le graphique montre que les injections SQL sont le deuxième risque de sécurité le plus courant pour les WordPress pages.

Avec tous ces chiffres, vous devez garder à l'esprit que le nombre de cas non signalés est beaucoup plus élevé - les attaques SQL ne sont souvent même pas remarquées et n'apparaissent dans aucune statistique.

Les chiffres montrent que WordPress SQL Injections after Brute Force attacks et les vulnérabilités du XSS sont parmi les types d'attentats les plus courants. De plus, les injections SQL ciblent une zone particulièrement sensible de votre site : votre base de données. Ces piratages constituent une menace existentielle, en particulier pour les propriétaires de magasins. Il est donc important de comprendre comment ils fonctionnent et ce que vous pouvez faire contre eux.

WordPress Les injections SQL ciblent le cœur de votre site : la base de données.

Pour comprendre comment fonctionne l'injection SQL, il faut comprendre comment WordPress est fondamentalement construit. Si vous le savez déjà, vous pouvez sans risque passer cette section.

La base de données est à la base de chaque installation de WordPress : tout le contenu est stocké ici. Le CMS lui-même permet ensuite d'afficher et de modifier ce contenu. WordPress est une base de données MySQL. SQL signifie Structured Query Language, un langage de programmation complet qui peut être utilisé pour créer des structures dans une base de données et pour insérer, modifier et supprimer des données.

Chaque fois que vous écrivez un article, créez une nouvelle catégorie, changez votre mot de passe ou même lorsque vos utilisateurs rédigent un commentaire, ces nouvelles données sont stockées dans la base de données. C'est donc là que réside chaque élément de contenu de votre site web.

Chaque fois qu'un utilisateur appelle votre page et demande un certain contenu,WordPress extrait les données appropriées de la base de données, les rassemble avec PHP et crée un document HTML qui est finalement transféré au navigateur de l'utilisateur. L'utilisateur n'est pas conscient de tous les processus qui se déroulent jusqu'à ce moment.

Les injections SQL injectent un code externe dans la base de données

Même si vous ne travaillez jamais directement avec la base de données, mais seulement avec le backend WordPress : la base de données est le cœur de votre site web.

Mais comme je l'ai dit : les utilisateurs peuvent également entrer des données dans la base de données. Rédiger un commentaire, créer un compte utilisateur, remplir et soumettre un formulaire de contact - toutes ces actions génèrent des données qui sont stockées dans la base de données.

Mais que se passe-t-il si quelqu'un utilise cet accès indirect à votre base de données pour y introduire clandestinement un code malveillant ? C'est ce qu'on appelle l'injection SQL.

L'idée derrière tout cela n'est même pas particulièrement compliquée : Si aucune mesure de sécurité n'est mise en place, le pirate doit seulement entrer le code SQL dans un champ du formulaire (par exemple, lors de la rédaction d'un commentaire). Ce code contient des caractères qui ont une fonction spéciale pour l'interpréteur SQL, qui est responsable de l'exécution des commandes SQL dans la base de données. Ces caractères spéciaux, appelés métacaractères, sont par exemple : " ' et \.

Le CMS estime qu'il s'agit de données inoffensives et transmet l'entrée à la base de données comme d'habitude avec l'ordre de la sauvegarder. L'interpréteur SQL reconnaît le code comme une demande d'action basée sur les métacaractères et exécute la commande de la base de données.

Soit dit en passant, il en va de même pour les injections SQL que pour les attaques Brute Force: il n'arrive presque jamais qu'un pirate informatique s'asseye seul devant l'ordinateur et entre manuellement des codes dans des formulaires. Ces attaques sont également menées par des réseaux de zombies automatisés qui analysent simultanément des milliers de sites web à la recherche de vulnérabilités et frappent là où ils en découvrent une.

Que peut-il se passer maintenant ?

  • Le hacker contourne tout mécanisme d'authentification ou se cache derrière l'identité d'un utilisateur existant pour obtenir l'accès. Si un hacker crée un nouveau compte admin, par exemple, cela est également appelé " exploit d'escalade de privilège".
  • Il peut ainsi espionner, modifier ou supprimer des données. Cela est particulièrement important si vous gérez une boutique en ligne et que vous disposez des données de paiement de vos clients.
  • Il peut prendre le contrôle de l'ensemble de votre site web et de votre espace web, par exemple en se connectant en tant qu'administrateur et en accédant à votre backend. Ainsi, un pirate informatique a le contrôle total de votre site et peut l'utiliser comme un passeur de spam, injecter du code malveillant ou l'insérer dans un botnet.

Conclusion : surtout à cause de l'automatisation WordPress Les injections SQL sont très dangereuses.

WordPress Les injections SQL sont parmi les hacks les plus dangereux. Elles sont faciles à réaliser, la plupart du temps automatisées et peuvent causer des dégâts considérables : Le danger des injections de SQL est particulièrement important pour les exploitants de magasins.

Il est donc important de protéger votre site en conséquence : Les données saisies par l'utilisateur doivent être vérifiées et nettoyées. Vous devez également masquer les données pour empêcher l'exécution de codes malveillants. Ce processus est appelé "assainissement et validation des données" et est couvert en détail dans le CodexWordPress , par exemple. Toutefois, dans l'un des articles suivants, nous allons approfondir ce sujet et vous montrer comment vous pouvez empêcher les codes malveillants de devenir actifs dans votre base de données.

Fondamentalement, la sécurité complètePlugins aide aussi ici : car ils sont particulièrement capables de bloquer les attaques automatisées sur vos pages, qui sont la base de nombreux piratages.

En tant qu'administrateur système, Tobias veille sur notre infrastructure et trouve chaque vis pour optimiser les performances de nos serveurs. Grâce à ses efforts inlassables, on peut souvent le trouver la nuit sur le site Slack .

Articles connexes

Commentaires sur cet article

Laisse un commentaire

Ton adresse électronique ne sera pas publiée. Les champs obligatoires sont marqués d'un *.