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

Répondre à