Bases de la sécurité de l'information

Dans une application web, saisir une chaîne comme ' OR '1'='1 dans le champ du mot de passe de l'écran de connexion permet de se connecter sans connaître le mot de passe. Comment s'appelle cette attaque ?

  1. AInjection SQL
  2. BCross-site scripting
  3. CTraversée de répertoires (directory traversal)
Afficher la réponse et l'explication

Réponse : A. Injection SQL

L'injection SQL exploite une application web qui construit des commandes pour la base de données (instructions SQL) en concaténant simplement les saisies de l'utilisateur sous forme de chaînes. Par exemple, lorsque ' OR '1'='1 est inséré là où se construit la condition « le mot de passe est égal à 'saisie' », l'apostrophe ferme la chaîne et la condition toujours vraie « ou '1' est égal à '1' » est ajoutée. La condition est donc satisfaite sans le mot de passe, et la connexion réussit. La même méthode peut aussi servir à voler, modifier ou supprimer des données. La contre-mesure fondamentale est un mécanisme qui n'interprète jamais la saisie comme une partie de la commande : les requêtes préparées avec des paramètres substituables (placeholders).

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases de la sécurité de l'information

  1. Comme contre-mesure à l'injection SQL, pourquoi les requêtes préparées avec paramètres substituables (requêtes paramétrées) sont-elles considérées comme plus fondamentales que la suppression des caractères dangereux de la saisie ?
  2. Une application web de forum présentait une vulnérabilité par laquelle des scripts contenus dans des textes publiés par des utilisateurs s'exécutaient dans le navigateur des autres visiteurs. Quelle combinaison indique correctement le nom de cette vulnérabilité et sa contre-mesure fondamentale ?
  3. Une application web présente une vulnérabilité : si un utilisateur connecté ouvre une page piège préparée par un attaquant, son navigateur envoie au site légitime des requêtes qu'il n'a pas voulues, comme un virement ou une modification de paramètres. Quelle contre-mesure est appropriée ?
  4. Une application web lit et affiche un fichier en accolant un nom de fichier fourni dans un paramètre d'URL au nom de son dossier public. Si l'on fournit comme nom de fichier une valeur contenant ../, on peut lire des fichiers de configuration et d'autres fichiers situés hors du dossier public. Quelle combinaison indique correctement le nom de cette attaque et une contre-mesure ?
  5. Si une application web conserve le même identifiant de session avant et après la connexion, un attaquant peut amener l'utilisateur à utiliser un identifiant de session préparé à l'avance, puis, une fois l'utilisateur connecté, usurper son identité avec cet identifiant. Quelle est la contre-mesure la plus appropriée contre cette attaque ?