我們有一個高度安全的應用程序,我們希望允許用戶輸入其他用戶會看到的URL。這帶來了XSS黑客攻擊的高風險-用戶可能會輸入另一個用戶最終執行的javascript。由于我們擁有敏感數據,因此絕不可發生。處理此問題的最佳做法是什么?僅憑任何一個安全白名單或轉義模式就足夠了嗎?有關重定向的建議(例如,在鏈接之前,警告頁面上的“此鏈接超出了我們的站點范圍”消息)是否有理由完全不支持用戶輸入的鏈接?澄清:基本上,我們的用戶要輸入:stackoverflow.com并將其輸出到另一個用戶:<a href="http://stackoverflow.com">stackoverflow.com</a>我真正擔心的是他們在XSS hack中使用此功能。即他們輸入:警報('被黑!');因此其他用戶獲得此鏈接:<a href="alert('hacked!');">stackoverflow.com</a>我的示例只是為了解釋風險-我很清楚javascript和URL是不同的東西,但是通過讓它們輸入后者,它們也許能夠執行前者。您會驚奇地發現有多少個站點可以用此技巧攻破-HTML甚至更糟。如果他們知道處理環節上做到他們也知道消毒<iframe>,<img>并巧妙的CSS參考?我正在一個高度安全的環境中工作-單個XSS hack可能對我們造成非常高的損失。我很高興我可以制作一個Regex(或使用到目前為止最出色的建議之一)來排除我可能想到的所有內容,但是這足夠了嗎?
添加回答
舉報
0/150
提交
取消