Les injections SQL : ce que c’est, comment savoir si vous êtes concerné
C’est la faille la plus fréquemment exploitée contre les boutiques en ligne, parce qu’elle touche directement la base de données : commandes, clients, mots de passe. Voici ce qu’elle est réellement, sans jargon inutile.
Le principe, sans jargon
Un site e-commerce construit en permanence des requêtes vers sa base de données : afficher une fiche produit, valider une connexion, enregistrer une commande. Ces requêtes intègrent souvent une information saisie par le visiteur, comme un identifiant de produit dans l’adresse, un terme recherché ou un champ de formulaire.
Une injection SQL survient quand cette information n’est pas suffisamment filtrée avant d’être intégrée à la requête. Le contenu saisi ne reste alors plus une simple donnée : il peut modifier le sens de la requête elle-même, et faire dire à la base de données autre chose que ce qui était prévu par le développeur du site ou du module.
C’est pour cette raison que cette faille est prise très au sérieux : elle touche directement la base de données, c’est-à-dire les commandes, les fiches clients et, selon la configuration, les mots de passe stockés.
Trois failles réelles pour comprendre le mécanisme
CVE-2022-36408 (référencée aussi sous CVE-2022-31181), divulguée le 22 juillet 2022, concernait le cœur de PrestaShop des versions 1.6.0.10 à 1.7.8.6 incluses, et est corrigée depuis la 1.7.8.7. Elle ne s’exploitait qu’en la chaînant à une injection SQL présente ailleurs sur la boutique, dans le cœur ou dans un module : le module de liste de souhaits blockwishlist en versions 2.0.0 à 2.1.0 en fournissait une (CVE-2022-31101, corrigée en 2.1.1).
CVE-2024-36680 touchait pkfacebook, un module tiers premium d’intégration Facebook pour PrestaShop. Les analystes de TouchWeb l’ont identifiée le 3 mars 2024 : elle pouvait être exploitée par un simple visiteur non connecté, et a servi à déployer des « skimmers » de paiement, c’est-à-dire du code destiné à intercepter les données de carte bancaire saisies sur le site.
CVE-2024-27956 concernait l’extension WordPress « WordPress Automatic » de l’éditeur ValvePress, publiée le 21 mars 2024. L’injection se situait dans le processus d’authentification lui-même et a été exploitée activement dès sa divulgation pour prendre le contrôle de sites.
Comment savoir si vous êtes concerné
-
Identifier votre version de cœur
Sur PrestaShop, la version s’affiche dans le back-office. Une boutique restée sur une version antérieure à 1.7.8.7 sans avoir vérifié ses modules mérite un contrôle, en particulier si le module blockwishlist est installé.
-
Vérifier les modules premium installés
Les modules tiers, notamment ceux liés à des intégrations comme Facebook, doivent être vérifiés individuellement : leur version, leur éditeur, et si une faille connue les concerne, indépendamment de la version du cœur PrestaShop.
-
Vérifier les extensions WordPress d’automatisation
Si votre site WordPress utilise WordPress Automatic ou une extension similaire qui manipule le contenu automatiquement, vérifiez sa version auprès de l’éditeur avant de considérer le site comme à jour.
-
Chercher les conséquences, pas seulement la cause
Un compte administrateur inconnu, des commandes ou des comptes clients créés en série, ou des données de paiement suspectes peuvent être la conséquence visible d’une injection SQL déjà exploitée.
Pour aller plus loin
-
Modules et extensions abandonnés
Pourquoi un module non mis à jour reste souvent la porte d’entrée, même après la publication d’un correctif.
-
Vérifier si mon site est compromis
Les vérifications gratuites à faire avant d’envisager un audit payant.
-
Sécurité et nettoyage de site piraté
Le service complet si une injection SQL a déjà été exploitée sur votre boutique.
Décrivez votre besoin en 1 minute
Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.