Bases de la sécurité de l'information
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 ?
- ACross-site scripting. Échapper < et > lors de la sortie
- BTraversée de répertoires (directory traversal). Allonger les noms de fichiers pour qu'ils soient plus difficiles à deviner
- CTraversée de répertoires (directory traversal). Concevoir l'application pour que les noms de fichiers ne puissent pas être fournis directement de l'extérieur, ou normaliser le chemin et vérifier qu'il se trouve à l'intérieur du dossier public
Afficher la réponse et l'explication
Réponse : C. Traversée de répertoires (directory traversal). Concevoir l'application pour que les noms de fichiers ne puissent pas être fournis directement de l'extérieur, ou normaliser le chemin et vérifier qu'il se trouve à l'intérieur du dossier public
La traversée de répertoires (directory traversal, ou path traversal) est une attaque qui utilise des symboles signifiant « répertoire parent », comme ../, pour lire ou écraser des fichiers situés hors du dossier prévu par l'application. Elle a pour cause l'utilisation directe, comme chemin de fichier, d'une valeur reçue de l'extérieur. La première contre-mesure est une conception dans laquelle les noms de fichiers ne sont pas fournis directement de l'extérieur, le serveur choisissant le fichier à partir d'un numéro ou d'un identifiant prédéfini. Si des valeurs externes doivent être utilisées, on normalise le chemin (en résolvant ../, etc.) et l'on vérifie que le résultat se trouve à l'intérieur du dossier autorisé. En outre, réduire au minimum les privilèges du compte qui exécute l'application, pour limiter les fichiers qu'il peut lire, réduit les dégâts en cas de problème. Allonger les noms de fichiers ne change rien au fait que ../ permet de sortir du dossier.
Continuer : 9 autres questions sur Bases de la sécurité de l'information