Source Nexen :
Sean Coates relate sa découverte des XSS là où il l'attendait pas : dans $_SERVER["PHP_SELF"].
Les XSS consistent à injecter du code JavaScript dans une page, en faisant placer des données dans le code HTML par le script PHP. Le grand classique est
echo $_GET["x"];. qui injecte toute la variable x passée en méthode GET dans le code HTML. Il ne reste plus qu'à donner à x un peu de code Javascript, et le tour est joué.
Donc tout comme _GET, _POST et _COOKIE, il est recommandé de traiter _SERVER avant de les utiliser, par exemple avec un htmlentities. Sean vous explique pourquoi.
En gros, PHP_SELF renvoie l'url courante, donc il devient alors possible de modifier l'url pour y introduire du code javascript facilement.
L'article en Anglais
Sean Coates relate sa découverte des XSS là où il l'attendait pas : dans $_SERVER["PHP_SELF"].
Les XSS consistent à injecter du code JavaScript dans une page, en faisant placer des données dans le code HTML par le script PHP. Le grand classique est
echo $_GET["x"];. qui injecte toute la variable x passée en méthode GET dans le code HTML. Il ne reste plus qu'à donner à x un peu de code Javascript, et le tour est joué.
Donc tout comme _GET, _POST et _COOKIE, il est recommandé de traiter _SERVER avant de les utiliser, par exemple avec un htmlentities. Sean vous explique pourquoi.
En gros, PHP_SELF renvoie l'url courante, donc il devient alors possible de modifier l'url pour y introduire du code javascript facilement.
L'article en Anglais
-
Auteur