關閉選單
React無法根除XSS,JavaScript漏洞仍橫行

報導摘要

資安研究員Michał Bentkowski揭露一種新型的跨站腳本(XSS)攻擊,能在使用 React框架的應用中觸發,顛覆了開發者對於「React 可防止XSS」的常見印象。此手法結合JavaScript 原型污染,透過操控DOM元素屬性,注入並執行惡意腳本。


資安風險

研究指出,攻擊者能針對特定屬性如__proto__進行原型污染,使瀏覽器錯誤解釋某些HTML屬性並執行其中的JavaScript。這種方式不需破壞React的虛擬DOM結構,就能於瀏覽器層級觸發XSS,繞過React的編碼與轉譯防護。


安全影響

受影響的不只是React,任何依賴DOM API且未妥善處理輸入的JavaScript框架都有潛在風險。此攻擊可導致資料竊取、帳號劫持、釣魚導向等後果,對前端安全形成結構性威脅。


行動建議

  1. 禁止__proto__等敏感鍵名:檢查與過濾JSON或物件輸入中可疑屬性。
  2. 使用安全的資料綁定方式:避免直接設定innerHTML或屬性值,改用受信的模組。
  3. 強化CSP(Content Security Policy):防止未授權的腳本執行。
  4. 安全測試工具導入:結合SAST與DAST工具偵測原型污染與DOM XSS。


結論

React雖內建多項XSS防禦機制,但並非萬無一失。原型污染與前端框架結構的互動,揭示出資安防護需跨層面考量,開發者應重新審視「框架即安全」的迷思,從輸入驗證到瀏覽器策略,多方佈建防線,才是真正的安全實踐。
 

資料來源:https://thehackernews.com/2025/07/why-react-didnt-kill-xss-new-javascript.html