0% ont trouvé ce document utile (0 vote)
28 vues2 pages

Exercices Sur L'injection SQL

Transféré par

moad4hatim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
28 vues2 pages

Exercices Sur L'injection SQL

Transféré par

moad4hatim
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

Exercices sur l’Injection

SQL :

Exercice 1 : Comprendre les requêtes SQL basiques :

Les requêtes SQL affichées permettent de récupérer des données depuis la table "utilisateurs" dans
une base de données :

la 1er rqt :

récupère toutes les informations de l’utilisateur dont l’identifiant est 3.

la 2eme rqt :

récupère les informations de l’utilisateur dont le nom d’utilisateur est "alice" et le mot de passe est
"motdepasse123". Ce type de requête est généralement utilisé pour l’authentification dans les
applications web.

Exercice 2 : Contourner une authentification simple :

Un attaquant pourrait entrer dans les champs username et password ' OR '1'='1 . Cela rend la
requête toujours vraie, Ainsi, il contourne l’authentification sans connaître les vrais identifiants.

Exercice 3 : Injection dans une URL :

Pour afficher tous les utilisateurs, on peut modifier l’URL comme suit :

http://site.com/utilisateur.php?id=3 OR 1=1

Cela donne la requête :

SELECT * FROM utilisateurs WHERE id = 3 OR 1=1;

Et comme "1=1" est toujours vrai, tous les utilisateurs seront affichés

Exercice 4 : Injection dans un champ de recherche :


Contexte :

SELECT * FROM produits WHERE nom LIKE '%[INPUT]%';

Réponse :

SELECT * FROM produits WHERE nom LIKE '%%';

Exercice 5 : Injection pour découvrir les tables :

Contexte :

http://site.com/articles.php?categorie=2

Réponse :

'); DROP TABLE utilisateurs; --

DROP TABLE utilisateurs;

Exercice 7 : Prévention des injections SQL :

1. Utiliser des requêtes préparées (requêtes paramétrées).


2. Échapper et valider toutes les entrées utilisateur.
3. Limiter les privilèges de la base de données.

Exercice 8 : Analyse de code vulnérable :

$stmt = $conn->prepare("SELECT * FROM users WHERE username = ?");

$stmt->bind_param("s", $_POST['username']);

$stmt->execute();

$result = $stmt->get_result();

Vous aimerez peut-être aussi