TP N° 1 mise en œuvre de l’attaque par les techniques de l’injection SQL
Outils :
- Ordinateur équipé d’un serveur web comme wamp, easyphp, Lamp, …
- Éditeur html
Première partie : Création de la base de données
Notre base de données contient entre autres tables, la table utilisateur.
Users (id, username, password)
1- Créer la base de données
2- Créer la table Users
3- Insérer dans la table les informations sur 5 potentiels utilisateurs de votre application
Id username password
1 firstUser alpha@beta2
2 secondUser beta@gamma3
3 thirdUser lamda@gamma2
4 forthUser omega@beta3
5 fithUser theta@lamda2
Partie 2 : Page de connexion
En vous servant du fichier authentification.php mis à votre disposition :
1- Afficher le code dans votre éditeur
2- Vérifier qu’il est conforme aux noms de variables et de champs de tables que vous avez
utilisé dans votre base de données. Corriger au besoin
3- Tester la justesse du code puis noter les observations dans votre rapport.
4- Décrire, après soumission, l’url affiché. Faire un commentaire.
Partie 3 : faille de connexion
Nous avons juste besoin du nom d’utilisateur. La partie concernant le mot de passe sera mise en
commentaire. Dans le cas de MySQL, le caractère pour commenter une ligne est #.
Exemple : http://127.0.0.1:8888/injection/connexion.php?username=toto%23&password=tatta
5- Mettre un bon nom d’utilisateur suivi du caractère #.
6- Tester à nouveau avec un bon nom d’utilisateur mais un mot de passe incorrect
7- Consigner les observations puis tirer une conclusion
8- Reprendre le même exercice cette fois ci en utilisant la méthode POST.
9- Tirer une conclusion
10- Consulter sur Internet la syntaxe de la fonction mysqli_real_escape_string ()
11- Utiliser cette fonction dans votre code puis reprendre les tests
12- Reprendre le code en utilisant des requêtes préparées. Tester.
13- Finaliser la rédaction de votre rapport .