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