首頁  >  文章  >  web前端  >  為什麼 Google 在其 JSON 回應中加入「while(1);」?

為什麼 Google 在其 JSON 回應中加入「while(1);」?

Linda Hamilton
Linda Hamilton原創
2024-11-16 10:16:03596瀏覽

Why Does Google Prepend

了解Google 的JSON 回應中的前置程式碼

Google 經常加入前言「while(1);」到其私有JSON 回應🎜>Google 經常加入前言「while(1);」到其私有JSON 回應的開始。這種做法引發了對其目的的質疑。

防止 JSON 劫持

此前置程式碼的主要原因是阻止 JSON 劫持。 JSON 劫持是一個安全漏洞,允許攻擊者透過使用外部腳本在 JSON 回應中包含惡意腳本來存取敏感資料。透過在前面加上“while(1);”,Google 會阻止腳本自動執行,因為程式碼會進入無限迴圈。

技術細節

執行 JSON 劫持透過利用瀏覽器允許網站動態改變「Array」和「Function」全域物件方法的行為。因此,攻擊者可以設定物件的特定回應屬性並執行任意程式碼。

替代語法

除了「while(1);」之外,Google 還採用了變體在不同的服務中:

  • Google 文件: "&&&START&&&"
  • Google 文件: "&&&START&&&"
Google 文件: "&&&START&&&"

Google 文件:"while(1); &&&START&&"

這些變體具有防止JSON 劫持和促進安全JSON 解析的相同目的。

瀏覽器相容性自2011 年以來,所有主要瀏覽器都已透過ECMAScript 5 的同源策略解決了JSON 劫持問題,該策略限制來自不同來源的腳本存取資料。但是,前置程式碼提供了額外的保護層,防止舊版瀏覽器或不合規網站中的潛在漏洞。

以上是為什麼 Google 在其 JSON 回應中加入「while(1);」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn