2015-05-29 60 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元素,并可能欺骗用户使用新呈现的页面。这很大程度上取决于网站其他功能的存在和意图。绝对要记住这一点。

相关问题