SQL Injection (Injection SQL)
hackingDé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
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h