SQLi · SQL Injection
Des guillemets. Un accès admin.
Un payload dans le champ identifiant suffit à réécrire la requête SQL. La vérification du mot de passe disparaît. L'attaquant entre en tant qu'admin sans connaître le moindre credential.
- Auth bypass
- Payload SQL
- Accès admin
- OWASP A03
Simulation pas à pas
Suivez l'attaque étape par étape
Connexion à votre espace
Identifiant
Mot de passe
Un formulaire de connexion standard
La porte d'entrée de l'application avec un identifiant et mot de passe
Chaque champ de saisie est une surface d'attaque
Formulaires de connexion, barres de recherche, filtres, paramètres d'URL... Partout où une valeur utilisateur est transmise à une base de données. Si le code concatène directement l'entrée dans la requête SQL, la faille existe par construction.
Chiffres clés
Une faille ancienne, toujours exploitée
- OWASP Top 10
#0
Injection · A03:2021- Pour exploiter
≤ 0 min
un endpoint vulnérable- Des apps vulnérables
0%
qui concaténent l'input- Pour corriger
0 ligne
avec une requête paramétrée
Protection
Comment s'en protéger
L'injection SQL se corrige dans le code. Ces quatre mesures ferment la porte durablement.
Requêtes paramétrées
Séparez toujours le code SQL des données : requêtes préparées ou ORM, jamais de concaténation de saisie utilisateur.
Validation côté serveur
Contrôlez le format attendu de chaque champ (liste blanche) avant tout traitement, même si le navigateur l'a déjà fait.
Moindre privilège
Le compte de base de données de l'application n'accède qu'aux tables et aux droits strictement nécessaires.
Détection et tests
WAF, journalisation des requêtes anormales et tests d'intrusion réguliers pour repérer une faille avant un attaquant.
Démo technique
Testez par vous-même
Cette simulation vous permet d'injecter un payload SQL réel et d'observer la requête générée en direct. Réservée aux équipes techniques et aux formateurs.
SQL Injection
Connexion falsifiée par payload
SQL généré :
SELECT * FROM users WHERE email = '' AND password = '';
Payload d'authentification
' OR '1'='1' --
Cette chaîne force la condition à vrai, contournant l'authentification si la requête n'est pas paramétrée.
Pourquoi c'est critique
Ici, l'application utilise directement les valeurs saisies pour construire une requête SQL. Un attaquant peut modifier la requête et se connecter comme un autre utilisateur.
Pour un décideur, cela signifie que des données sensibles peuvent être exposées sans que le code sache qu'il a été manipulé.
Comment se protéger
- Ne jamais concaténer du texte utilisateur dans une requête SQL.
- Utiliser des requêtes paramétrées.
- Valider et normaliser les entrées.
- Limiter les permissions de la base de données.
SELECT * FROM users WHERE email = $1 AND password = $2; -- valeurs liées sans concaténation
FAQ
Questions fréquentes
Qu'est-ce qu'une injection SQL ?
Une injection SQL est une vulnérabilité applicative qui permet à un attaquant d'insérer du code SQL malveillant dans une requête de base de données. Elle peut permettre de contourner l'authentification, extraire des données, modifier ou supprimer des enregistrements, et parfois exécuter des commandes système.
Comment fonctionne le contournement d'authentification par SQL injection ?
En injectant le payload ' OR '1'='1 dans un champ de connexion, un attaquant transforme la requête SQL en une condition toujours vraie. La requête devient : SELECT * FROM users WHERE username='' OR '1'='1' -- AND password='...', ce qui retourne tous les utilisateurs et accorde l'accès admin.
Comment prévenir les injections SQL ?
Les protections contre les injections SQL sont : utiliser des requêtes préparées (prepared statements) et des ORM, valider et encoder toutes les entrées utilisateur, appliquer le principe du moindre privilège sur les comptes de base de données, et utiliser un WAF (Web Application Firewall).
Quels outils détectent les injections SQL ?
Les outils de détection des injections SQL incluent : sqlmap (automatisé, open-source), Burp Suite (proxy d'interception), OWASP ZAP (scanner de vulnérabilités), et les solutions DAST intégrées dans les pipelines CI/CD. Les WAF (ModSecurity, Cloudflare) les bloquent en production.
Formez vos équipes avec un expert
Ateliers de sensibilisation sur mesure, simulations d'attaques et formations pour ancrer les bons réflexes dans votre organisation.