Injection SQL
L’injection SQL consiste à insérer des commandes dans un champ ou une requête afin d’interroger, modifier ou extraire des données d’une base. Elle résulte généralement d’une mauvaise validation des entrées et d’une construction non sécurisée des requêtes.
Cette fiche présente la menace de manière pédagogique : logique de l’attaque, techniques utilisées et mesures de protection adaptées à une organisation.
Lecture visuelle de la menace
Ce visuel permet d’associer la menace à une situation concrète : compromission d’un utilisateur, blocage d’un système, fuite de données, saturation d’un service ou exploitation d’une faiblesse technique. L’objectif est de rendre la fiche plus pédagogique et plus lisible.
Comment l’attaque fonctionne
Requête manipulée
L’attaquant injecte du code SQL dans un formulaire, une URL ou un paramètre.
Extraction de données
Les tables, identifiants, emails ou données sensibles peuvent être récupérés.
Contournement d’authentification
Une requête mal protégée peut permettre de passer outre un contrôle.
Écriture ou suppression
Dans certains cas, la base peut être modifiée, altérée ou supprimée.
Comment s’en protéger
Utiliser des requêtes paramétrées plutôt que concaténer les entrées.
Contrôler type, longueur, format et caractères attendus.
Limiter les droits du compte applicatif.
Filtrer les requêtes suspectes en complément du code sécurisé.
Réaliser audits applicatifs, SAST/DAST et tests d’intrusion.
Schéma de lecture rapide
| Étape | Question à poser | Objectif de défense |
|---|---|---|
| Entrée | Comment l’attaquant obtient-il un premier accès ? | Réduire l’exposition et renforcer l’authentification. |
| Progression | Comment peut-il se déplacer ou étendre ses droits ? | Segmenter, journaliser et appliquer le moindre privilège. |
| Impact | Quelles données ou services peuvent être affectés ? | Classer les actifs critiques, détecter et préparer la reprise. |