Maison >interface Web >js tutoriel >Pourquoi Google ajoute-t-il \'while(1);\' à ses réponses JSON ?

Pourquoi Google ajoute-t-il \'while(1);\' à ses réponses JSON ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-16 10:16:03662parcourir

Why Does Google Prepend

Comprendre le code ajouté au début des réponses JSON de Google

Google ajoute fréquemment une préface de "while(1);" au début de ses réponses JSON privées. Cette pratique a soulevé des questions quant à son objectif.

Prévenir le piratage JSON

La principale raison de ce code ajouté est de contrecarrer le piratage JSON. Le piratage JSON est une vulnérabilité de sécurité qui permet aux attaquants d'accéder à des données sensibles en incluant un script malveillant dans une réponse JSON à l'aide de scripts externes. En ajoutant "while(1);", Google empêche le script de s'exécuter automatiquement, car le code entre dans une boucle infinie.

Détails techniques

Le détournement JSON est exécuté en tirant parti du fait que les navigateurs permettent aux sites Web de modifier dynamiquement le comportement des méthodes des objets globaux « Array » et « Function ». Ainsi, un attaquant pourrait définir des attributs de réponse spécifiques d'un objet et exécuter du code arbitraire.

Syntaxe alternative

Outre "while(1);", Google utilise également des variantes dans différents services :

  • Google Docs : "&&&START&&&"
  • Google Contacts : "while(1); &&&START&&&"

Ces variantes ont le même objectif : empêcher le piratage JSON et promouvoir une analyse JSON sécurisée.

Compatibilité des navigateurs

Le piratage JSON a été résolu dans tous les principaux navigateurs depuis 2011 via ECMAScript 5, qui empêche les scripts d'origines différentes d'accéder aux données. Cependant, le code ajouté au début offre une couche de protection supplémentaire contre les vulnérabilités potentielles des anciens navigateurs ou des sites Web non conformes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn