可能重複:
Cross Site Scripting in CSS Stylesheets可以從鏈接的樣式表中執行XSS攻擊嗎?
我正在考慮,允許用戶創建通過鏈接的樣式表(不嵌入樣式標籤)自己的CSS。可以從樣式表執行XSS攻擊嗎?
感謝
可能重複:
Cross Site Scripting in CSS Stylesheets可以從鏈接的樣式表中執行XSS攻擊嗎?
我正在考慮,允許用戶創建通過鏈接的樣式表(不嵌入樣式標籤)自己的CSS。可以從樣式表執行XSS攻擊嗎?
感謝
在Internet Explorer,Firefox和其他瀏覽器,你可以通過在url()
CSS語句中指定一個javascript:
URL在CSS中嵌入的JavaScript。
即使您設法將其過濾掉,攻擊者仍可以使用高級CSS完全重新設計頁面(包括其所有文本內容)。因此,誘騙用戶執行愚蠢行爲變得非常容易,這就是XSS的意圖。例如,您可以使按鈕填充整個窗口並將其文本更改爲「點擊此處贏取1000美元」。
你可以白名單有選擇的幾個特性(text-*
,font-*
,color
,background
(僅限於顏色和漸變,沒有網址或其他花哨的東西)),但你必須拒絕任何不符合這些限制。
這些都是舊的黑客,但可能仍然在舊版瀏覽器中工作,例如,您可以將javascript協議放在href attr中。
http://ha.ckers.org/xss.html (搜索方式)
可能IE做過最壞的打算。 –
@Amir Raminfar:我認爲這將是一個較短的清單,列出哪些IE做對了。我會開始:允許我下載一個真正的瀏覽器。 – Robert
是否有少量的CSS關鍵字可以加入黑名單,以防止執行和使用新內容填充元素? – Tom