Comment un pirate peut effacer ta base de données juste avec son nom
Comment un pirate peut effacer ta base de donnees juste avec son nom?
Imagine cette situation
Tu as cree un formulaire de connexion et ton code SQL ressemble a une requete qui cherche un utilisateur par son nom
Tu te dis que lutilisateur va taper Paul et que la base de donnees va simplement chercher Paul
Cest innocent mais surtout tres naif
Prenons un moment pour bien analyser ce qui ne va pas
Une personne mal intentionnee ne va pas taper un nom normal
Elle peut entrer une valeur qui modifie la logique de la requete et force la base de donnees a retourner un resultat valide
Dans ce cas la condition devient toujours vraie
La base de donnees renvoie alors un utilisateur sans verifier le mot de passe
Tres souvent il sagit du premier compte qui est generalement un compte administrateur
Tu viens detre victime dune attaque appelee injection SQL
Pire encore un pirate peut injecter une commande destructive capable de supprimer une table entiere de ta base de donnees
Les degats peuvent etre immediats et irreversibles
Pour mieux comprendre imagine le SQL comme un robot qui repete exactement ce quon lui dit
Sil recoit une instruction dangereuse il lexecute sans reflechir
La solution pour eviter ce genre dattaque repose sur lutilisation des requetes preparees
Au lieu dexecuter directement ce que lutilisateur envoie tu indiques a la base de donnees quil sagit uniquement de texte
Ainsi meme si un pirate tente dinjecter du code celui ci ne sera jamais execute
Cette protection est essentielle mais elle nest pas suffisante
Il est aussi important de filtrer et valider les donnees avant de les enregistrer
Dailleurs il existe une regle fondamentale en securite informatique
Ne fais jamais confiance a lutilisateur Jamais
En attendant de te lire en commentaire noublie pas chaque bug compte
Laclass Dev
#laclassdev
#chaquebugcompte
#Securite SQLInjection Backend #CyberSecurite #BaseDeDonnees JuniorDev
Augustin Musande
Formateur GACI