Le vendredi 9 octobre 2015, 14:47:01 andre_deb...@numericable.fr a écrit : > Merci de la piqûre de rappel ci-dessous concernant les > langages dynamiques Web. > > Les documents sur la sécurité abondent en ce sens, > dont surtout la réinjection de codes dans les pages Web. > > La question initiale était : > /index.php?rev=../../../../../../../../../etc/passwd > HTTP Response 200, possible tentatives avec succès..." > > Mais rien n'empêche de taper directement ceci : > "www.monsite.com/../../../../... /etc/passwd > > Le fait d'avoir une page d'index ou non, > "/index.php?rev=../../../../../../../../../etc/passwd" > ne doit pas changer grand chose...
Ok, donc, malgré tout ce qui a été dit dans ce fil, tu n’as pas compris le protocole HTTP : ces requêtes ne sont pas équivalentes. Passer par un fichier PHP mal écrit qui va pouvoir lire n’importe quel fichier sur ta machine si on lui passe un chemin dans le bon paramètre n’est pas équivalent à faire une requête que le serveur va savoir refuser. À moins que celui qui a écrit le fichier PHP moisi soit aussi celui qui a écrit le serveur HTTP, ce dernier n’acceptera pas d’aller remonter plus haut que sa racine (p.ex. /var/www). La requête '/index.php?rev=../../etc/passwd' signifie « exécuter le script 'index.php' en lui passant la variable 'rev' à '../../etc/passwd' ». Le script fait ce qu’il veut avec son paramètre 'rev'. Un script moisi va s’en servir pour aller ouvrir le fichier et l’inclure dans la réponse sans vérification. Un script moins moisi va vérifier la valeur du paramètre et ne pas s’en servir. D’un point de vue réponse HTTP, ces deux scripts vont générer un 200 de la part du serveur HTTP : le fichier 'index.php' a été exécuté et renvoie un contenu. La requête '/../../../etc/passwd', en général, n’est pas valide, et va donc générer une réponse 404. (On peut avoir un serveur web qui renvoie toutes ou certaines URL comme paramètre à l’exécution d’un script, lequel peut être plus ou moins moisi, mais il faut lui demander.) Il est beaucoup plus fréquent de trouver un script PHP moisi que de trouver un serveur web qui va aller chercher n’importe quel fichier sur la machine, ne serait-ce que parce qu’il y a beaucoup plus de scripts PHP que serveurs web… -- Sylvain Sauvage