Discussion:
modifier '_SERVER[DOCUMENT_ROOT]' ?!
(trop ancien pour répondre)
Olivier Masson
2010-02-16 10:20:54 UTC
Permalink
Bonjour,

Je suis très surpris d'avoir ce matin un message de suhosin
(http://www.hardened-php.net/suhosin/) qui m'indique :
ALERT - tried to register forbidden variable '_SERVER[DOCUMENT_ROOT]'
through GET variables

Je n'avais jamais pensé un instant qu'il puisse être possible de
modifier par un GET la valeur de DOCUMENT_ROOT ! Est-ce vraiment possible ?

Si oui, il y a encore d'autres inepties de ce genre dans PHP ?

Merci.
Olivier Miakinen
2010-02-16 21:59:20 UTC
Permalink
Bonjour,
Post by Olivier Masson
Je suis très surpris d'avoir ce matin un message de suhosin
ALERT - tried to register forbidden variable '_SERVER[DOCUMENT_ROOT]'
through GET variables
Je n'avais jamais pensé un instant qu'il puisse être possible de
modifier par un GET la valeur de DOCUMENT_ROOT ! Est-ce vraiment possible ?
Je ne sais pas si c'est possible, et d'ailleurs, si j'en crois leur
page d'accueil, Suhosin n'attend pas qu'une faille existe pour s'en
protéger :
<cit. http://www.hardened-php.net/suhosin/>
It was designed to protect servers and users from known
*and unknown* flaws
</cit.>

Cela dit, pour qu'une telle faille existe, il faudrait premièrement que
register_global soit à On, deuxièmement que cette syntaxe avec tableau
dans un tableau soit autorisée, et enfin qu'il accepte de modifier une
constante ! Si la première des trois conditions a été possible en PHP,
je doute que les deux autres le soient.
--
Olivier Miakinen
Olivier Masson
2010-02-17 15:38:16 UTC
Permalink
Post by Olivier Miakinen
Je ne sais pas si c'est possible, et d'ailleurs, si j'en crois leur
page d'accueil, Suhosin n'attend pas qu'une faille existe pour s'en
Et c'est une très bonne chose à mon avis.
Post by Olivier Miakinen
Cela dit, pour qu'une telle faille existe, il faudrait premièrement que
register_global soit à On, deuxièmement que cette syntaxe avec tableau
dans un tableau soit autorisée, et enfin qu'il accepte de modifier une
constante ! Si la première des trois conditions a été possible en PHP,
je doute que les deux autres le soient.
Ce qui me fait poser la question, ce n'est pas l'existence de cette
protection mais bien qu'une tache ait essayé d'utiliser cette faille sur
mon serveur.

Continuer la lecture sur narkive:
Loading...