1
A
回答
0
簡短的答案,因爲它已經被@Stu說過:不,這是不可能的。
讓我們先放棄免責聲明:我一直在研究最近3年來關於基於DOM的攻擊,如被稱爲Man-in-the-Browser(MitB)的攻擊。 我所在的公司R & D專注於Web應用程序的完整性。
如你不能「鎖定」的DOM,你能做的最好是限制什麼都可以 訪問和更改:作爲@CBroes說你可以用Content Security Policy (CSP)啓動,以便您的服務器可以 指示瀏覽器是什麼腳本/樣式源是允許的。
在瀏覽器解析之前,CSP的目的可能會被HTTP響應中的HTTP頭或meta
標籤剝奪。 MitB木馬。
Subresources Integrity (SRI)允許你告訴瀏覽器「嘿,我想這 資源當且僅當它的當前散列匹配這個」。您應該使用integrity
屬性提供 您知道的散列。如果您正在從遠程位置(如CDN)加載資源,這非常特別:如果他們得到 受損,並且您正在加載的腳本中添加了惡意負載,則您的應用程序將受到攻擊。
至於CSP,例如MitB特洛伊木馬將能夠剝離瀏覽器解析之前的這些屬性 ,然而使用SRI你正在提高吧。
接受的事實,網頁可以合法或通過在運行環境中運行的 東西干擾改變,讓我們(和我的[R & d)去 一個新的水平:實時瞭解有關DOM篡改和能力 區分「自我造成」和惡意/不希望的篡改。
我的R & D已經更進一步了,我很樂意與您分享,但是在側邊頻道上分享 ,因爲它可能在此線索上下文中被錯誤地理解。
相關問題
- 1. 防止數據庫篡改
- 2. 防止用戶篡改html
- 3. 防止firefox篡改數據
- 4. 防止審計表篡改
- 5. 檢測用戶篡改DOM
- 6. Window.open和修改DOM
- 7. 防止在git上修改被修改的文件被修改
- 8. Grails的防止HTML修改
- 9. 防止$ anchorScroll修改url
- 10. 防止修改而迭代
- 11. C#防止得到修改
- 12. 防止固件修改
- 13. 防止NuGet修改web.config?
- 14. 防止篡改用戶輸入和SQL注入失敗
- 15. 防止自動browswer JS執行修改DOM
- 16. DOM的修改
- 17. 防篡改VB.NET中的文件
- 18. 使用java的防篡改Excel文檔
- 19. 替代刀片式防篡改
- 20. 如何防止用戶篡改查詢字符串
- 21. 如何防止篡改查詢字符串?
- 22. 如何防止篡改AJAX進程頁面?
- 23. 在ASP.NET中,如何防止篡改隱藏字段值
- 24. django paypal - 如何防止用戶篡改金額
- 25. 如何防止隱藏字段值的篡改malacious用戶
- 26. 簽名應用程序是否防止篡改文件?
- 27. 有沒有辦法來防止篡改QueryStrings或丟失QueryString?
- 28. cakePHP - 防止窗體選擇列表篡改
- 29. 如何防止使用管理員標誌進行篡改?
- 30. 如何防止ViewState在AngularJS中被篡改?
我認爲這是不可能的..你無法控制客戶端。 – StarsSky
不,總之這是不可能的,有些人通過試圖鎖定控制檯來試圖通過默默無聞的安全措施,但這不會阻止有經驗的黑客,因爲沒有確定的開火方式......畢竟這頁是像@StarsSky提到的那樣在客戶端渲染,所以可以用客戶想要的任何方式操縱。 – Stu
儘管如此,您可能希望查看[內容安全策略](https://content-security-policy.com/)以屏蔽您的網站/應用程序儘可能多的已知攻擊媒介。 – CBroe