Lumière sur la faille critique de tous les site web
Le format JSON est aujourd'hui
largement utilisé pour récupérer des informations concernant les utilisateurs
d'un site web. Les expressions JSON sont alors envoyées au client suivant
l'identité de l'utilisateur, identifié par une session. Théoriquement,
JavaScript ne permet à la fonction XMLHttpRequest (utilisée pour les requêtes
JSON) d'effectuer des requêtes que vers les URL de même origine, ce qui empêche
qu'un site malveillant www.A.com visité par un utilisateur ne profite
de la session de celui-ci sur un site www.B.com pour récupérer des informations sur
l'utilisateur en faisant une requête AJAX vers http://www.B.com/json.php. Toutefois,
l'appel de script par la balise <script src=""> est une
exception à la politique de même origine de JavaScript. Une balise <script
src="http://www.B.com/json.php">
insérée dans le code html d'une page de www.A.com,
avec une routine JavaScript exécutée à chaque déclaration d'un nouvel objet,
permettrait le vol de données de chaque utilisateur visitant www.A.com avec une session active surwww.B.com.
Il est possible d'éviter cela en écrivant while(1); ou
&&&BLABLA&&& au tout début de l'expression JSON. Ainsi,
l'analyse du code JSON sur le site d'origine restera tout à fait fonctionnelle,
mais l'exécution malveillante avec <script> depuis une page d'un domaine
différent mènera à une boucle infinie ou une erreur de syntaxe.BY TAATJENE