2015-05-29 94 views
1

我目前有一個表單,允許管理員更改網站上的基本CSS屬性。我正在考慮爲高級管理員創建一個表單,以便在文本區域內顯示整個CSS文件並允許他們自由編輯它。我不擔心文件被擦除,因爲它可以很容易地恢復。我擔心的是有人可能會向CSS文件添加一些代碼,這可能會對Web服務器造成重大損害。是否可以從CSS文件執行惡意代碼?惡意代碼是否可以從CSS文件執行?

+0

是的,這是可能的..一個簡單的例子是人們嘗試通過css從url加載惡意圖像。 – Praveen

+2

'body {display:none; } html :: after {content:'網站移至:www.nottherealwebsite.com';顯示:塊;顏色:藍色; }' –

回答

0

如果他們有機會獲得CSS文件,他們可以將其鏈接到包含惡意內容

0

我不認爲你有什麼可擔心的另一個文件。你可以使用這樣的東西來將其他CSS文件包含到CSS文件中。

@import url("main.css") 

我不認爲使用它可以添加任何惡意。可能更重要的是......你爲什麼要給那些你不信任的人提供「高級管理」功能!

0

如果style.css提供了錯誤的內容類型頭文件,潛在的xss漏洞。

的style.css

<script> 
alert(document.cookie) 
</script> 

attack.html

<iframe src="style.css"></iframe> 
0

是的,有一些XSS風險考慮。 XSS不會直接用惡意代碼攻擊您的網絡服務器。它是通過他們自己的瀏覽器攻擊你的系統的其他用戶。基本上,這是一個基於瀏覽器的代碼執行漏洞,儘管受限於JavaScript可以做的事情(儘管從瀏覽器沙箱逃脫了很多)。

當你讓他們編輯的CSS文件提出文本中,這減輕了一些,當CSS被嵌入在HTML文檔中(如通過STYLE=""屬性和<style>標籤)是唯一可能的攻擊。

然而,以下的風險仍然存在:

  • 中的JavaScript expression指令允許JavaScript插入CSS樣式表。請注意,這隻會影響Internet Explorer 8和更低版本。在Internet Explorer
  • url指令可以讓JavaScript:風格的URL 6.
  • 通過 -moz-binding
  • 腳本執行,請在Firefox 2和3 Google Browser Security Handbook不會出現,因爲火狐3已經被更新了This post表明這是目前修復,以便XML文件必須可以從您自己的域中讀取。 XBL在當前版本的Firefox中似乎不可行。
  • 在Internet Explorer 10及更低版本中,HTML Components允許在CSS中執行腳本。

請注意,允許用戶更改您的CSS讓他們能夠自由定位文本。這將使惡意用戶可以使用他們的CSS代碼模仿可信的UI元素,並可能欺騙用戶使用新呈現的頁面。這很大程度上取決於網站其他功能的存在和意圖。絕對要記住這一點。

相關問題