CODEX / CYBERSÉCURITÉ / INJECTION SQL
Injection SQL
Manipuler la requête SQL d'une app pour lire, modifier ou effacer sa base. Vieille comme le web, toujours dévastatrice.
⚠ Fiche danger. Contenu documenté à but défensif. Toute attaque non autorisée contre un système est illégale (art. 323-1 et s. Code pénal).
Mécanisme
Si l'app concatène l'entrée utilisateur dans du SQL, l'attaquant sort du champ et réécrit la requête : authentification contournée, dump complet, parfois exécution système.
◉ sql
-- Code vulnérable :
-- query = "SELECT * FROM users WHERE login='" + input + "'";
-- Entrée : ' OR '1'='1' --
SELECT * FROM users WHERE login='' OR '1'='1' --'
-- → connecte le premier compte (souvent admin).Parades
- Requêtes préparées / ORM partout, sans exception.
- Principe du moindre privilège sur le compte SQL.
- Messages d'erreur génériques (jamais de SQL brut au client).
- WAF + tests d'intrusion réguliers.
⚠ Les injections aveugles (blind) exfiltrent des données bit par bit via des questions vrai/faux — même sans affichage d'erreur, vous pouvez fuiter.