Aller au contenu principal
Expert Cybersécurité & IAv9.0
Centres de ressources conformité
Besoin d'un accompagnement expert ?
Devis personnalisé sous 24h — audit, conformité, incident
Checklists Sécurité — Audit & Durcissement
Formats disponibles
📄 PDF 📊 Excel 🌐 Web

11 checklists professionnelles couvrant 2 200+ points de contrôle. Téléchargement gratuit, aucune inscription.

SQL Injection (Injection SQL)

hacking

Définition

L'injection SQL, ou SQL Injection, est une vulnérabilité de sécurité applicative qui permet à un attaquant d'insérer du code SQL malveillant dans les requêtes envoyées à la base de données d'une application web, lorsque l'application construit ses requêtes en concaténant directement des entrées utilisateur non validées plutôt qu'en utilisant des mécanismes de paramétrage sécurisés. Cette classe de vulnérabilité, présente dans l'OWASP Top 10 depuis sa création, se décline en plusieurs variantes techniques : l'injection classique, où la réponse de l'application affiche directement le résultat de la requête modifiée, l'injection UNION, permettant de fusionner artificiellement le résultat d'une requête choisie par l'attaquant avec celui de la requête légitime pour en extraire le contenu, l'injection aveugle (blind), exploitée lorsque l'application ne renvoie aucune donnée directement observable mais laisse deviner l'information via des différences de comportement booléen ou temporel, et l'injection de second ordre, où la charge malveillante est stockée puis exécutée ultérieurement dans un contexte différent. L'impact potentiel va du contournement d'authentification à l'exfiltration complète de la base de données, en passant par la modification ou la suppression de données, voire l'exécution de commandes système selon la configuration du serveur. La prévention repose sur l'usage systématique de requêtes préparées paramétrées et une validation stricte des entrées, en complément d'un WAF.

Description

L'injection SQL insère du code SQL malveillant dans les requêtes d'une application web, permettant de manipuler la base de données. Classée parmi les vulnérabilités les plus critiques depuis plus de 20 ans, elle peut mener à l'exfiltration complète de données ou la compromission du serveur.

Exploitation

Un payload comme ' OR 1=1 -- dans un formulaire de connexion contourne l'authentification. L'UNION SELECT permet d'extraire des données d'autres tables. La SQLi OOB ou SSRF via LOAD_FILE/INTO OUTFILE permet des exploitations avancées.

Défense

  • Utiliser exclusivement des requêtes préparées (prepared statements) avec des paramètres liés
  • Implémenter le principe du moindre privilège sur le compte de base de données de l'application
  • Déployer un WAF avec règles de détection SQLi en complément des protections applicatives

Articles liés

Un projet cybersécurité ?

Expert dispo · Réponse 24h

Devis