我聽說一個網站可能會出現危險的XSS攻擊,例如eval
允許用戶輸入JS。我打算爲我的文本擴展擴展名(類型一些文本 - >按熱鍵 - >文本擴展)做類似的事情。Chrome擴展程序,內容腳本和XSS攻擊
我將允許用戶粘貼一個普通的html字符串文本,然後以不錯的格式化方式查看它。它旨在用於粗體,下劃線等。爲此,我將在div
中使用.innerHTML
。我非常瞭解,惡意用戶會將邪惡的<script>
元素置於純文本中,並試圖破壞我的擴展。這是我所關心的。
我的問題:
- 我的擴展將以此爲HTML數據,並將其粘貼到其他網站內容編輯的要素(如Gmail,利用
innerHTML
與內容腳本)文本增加。 XSS也可能會影響這些網站。我應該關心這些網站嗎? Imho,他們有責任清理他們的內容。 - 我自己的擴展本身不會與任何服務器通信,除了鉻同步存儲服務器,其中它將以純文本形式存儲此數據。但是,我仍然在我的
options.html
頁面中使用innerHTML
(提供交互式文本擴展操場)。 XSS也會以任何方式影響我的擴展嗎?根據我的理解,他們(黑客)將使用拷貝的我的擴展文件自己的電腦與自己的瀏覽器。我無法分辨出他們在這個意義上可能造成的傷害。
我希望有人有兩個鍍鉻的擴展和XSS如何工作可以拋出一些輕知識。如果我錯過了任何細節/不清楚,請告訴我。
更新:我剛剛意識到腳本元素不是通過innerHTML執行的,只有內聯事件處理程序。我知道使用CSP可以幫助我防止內部事件處理程序在我的擴展中執行。但是,其他網站,其中我的擴展將粘貼代碼。他們是否也不執行內聯事件處理程序js函數?在擴展
@wOxxOm感謝您的輸入!但MDN頁面清楚地顯示'const name =「
」; el.innerHTML = name; //顯示警報可能是邪惡的。我認爲這是我所關心的。我會更新我的問題。 –
@wOxxOm謝謝!對不起,重複我的問題,但也許我只是無法得到第二件事。 「但不會在擴展頁面上工作」我明白這一點。但是它也不適用於我在不同的網站上使用內容腳本插入的html,比如gmail?從技術上講,gmail不是一個擴展頁面:/ –
那麼,安全敏感站點應該使用CSP,它完全禁止內聯js,或者要求通過散列和來簽名。無論如何,我不是XSS的專家,所以希望別人能完全回答這個問題。 – wOxxOm