3C資訊

jQuery的“原型污染”安全漏洞

前兩周發布的  除了常規更新外,更重要的是修復了一個稱為“原型污染(prototype pollution)”的罕見安全漏洞。

什麼是原型污染?顧名思義,原型污染就是指攻擊者通過某種手段修改 JavaScript 對象的 prototype。

JavaScript 對象就跟變量一樣,但它不是存儲一個值(var car =“Fiat”),而是可以包含基於預定義結構的多個值 (var car ={type:”Fiat”, model:”500″, color:”white”})。

prototype 定義了 JavaScript 對象的默認結構和默認值,因此在沒有為對象賦值時應用程序也不會崩潰。

但如果攻擊者從 JavaScript 對象的 prototype 入手,攻擊者可通過將其控制的 prototype 注入對象,然後通過觸發 JavaScript 異常導致拒絕服務(denial of service),或者篡改應用程序源代碼以注入攻擊者的代碼路徑。最終的結果可能就是導致應用程序崩潰或劫持應用程序。

Snyk 團隊詳細了這個新的 jQuery “原型污染”漏洞,其中包含攻擊原理和規避方法,點擊查看。

雖然漏洞比較嚴重,但好在“原型污染”攻擊並不能被大規模利用,因為每段攻擊代碼必須針對每個目標進行微調。此外,大部分網站並不使用 jQuery 進行重要的操作,主要是用於操作動畫中的菜單或創建彈窗等。

最後,如果擔心安全問題,建議升級至最新版本 ,畢竟目前大多數網站仍在使用 jQuery 的 1.x 和 2.x 分支,這意味着絕大多數基於 jQuery 的應用程序和網站仍有可能遭受攻擊。

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【精選推薦文章】

帶您來了解什麼是 USB CONNECTOR  ?

為什麼 USB CONNECTOR 是電子產業重要的元件?

又掌控什麼技術要點? 帶您認識其相關發展及效能

jQuery的“原型污染”安全漏洞