包含外部CSS文件是安全的,还是会导致代码注入?
Is including an external CSS file safe, or could it lead to code injection?
我正在做一个网站,客户将通过在他们的网站中嵌入iframe来使用它。我想让他们能够自定义内容的样式,这样他们就可以使它符合他们网站的样式。
我的基本想法是让他们给我一个URL到一个CSS文件,我应该包含在我为他们提供的页面中,以填充iframe。据我所知,这是安全的,但我不是特别熟悉CSS(特别是新版本),所以我想验证一下。
是否有人可以构建一个CSS文件,让他们注入代码到我的网站或以其他方式获得访问像我的域名的cookie的东西?这真的安全吗,还是我需要想出一个不同的解决方案?
不,不安全。expression
和-moz-binding
是已知的通过CSS在某些浏览器上导致任意脚本执行的方法。LiveJournal遭受了一次非常公开的跨站攻击,原因是用户提供的CSS中嵌入了JavaScript。
随着Mozilla决定允许通过CSS执行任意JavaScript,除了我们所采取的解决方案之外,没有其他可行的解决方案。
来自Caja的攻击向量wiki:
精心制作的CSS样式表可以在某些浏览器的全局作用域中执行未消毒的javascript。
CSS包含了一些改变周围标记和执行表达式的机制。
IE有一个允许执行任意javascript的扩展。expression
的性质介绍见http://msdn2.microsoft.com/en-us/library/ms537634.aspx使用动态属性的强大功能,现在不仅可以将属性值声明为常量,还可以声明为公式. ...对于脚本,动态属性可以是任何合法的JScript或Microsoft Visual Basic scripting Edition (VBScript)语句。http://msdn2.microsoft.com/en-us/library/ms533503.aspx
binding
允许绑定到外部指定的脚本http://developer.mozilla.org/en/docs/CSS -moz-binding,http://developer.mozilla.org/en/docs/XBL: XBL_1.0_Reference: #绑定元素
-moz-binding
允许通过XML接口绑定(也使用data: URLs)不受信任的代码可以生成样式元素或样式属性,或者添加任意的CSS规则并创建触发这些规则的DOM元素。
ie5及以上版本(但不能在"标准模式"下使用ie8或以上版本)。
Mozilla/Firefox,版本未知。
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- 如何使用python在URL中捕获javascript代码注入
- 恶意软件将代码注入我的Dojo/WebSocket应用程序:如何防止
- 浏览器扩展:如何在没有冲突的情况下将javascript代码注入页面
- 服务器端 JavaScript 代码注入攻击
- 将代码注入 iFrame 以隐藏特定元素
- 我可以将 JavaScript 代码注入图像吗?
- Tumblr将新代码注入我的链接中
- 将 JS 代码注入文本区域
- 我可以将Javascript代码注入Chrome自定义选项卡吗
- 包括远程JS文件通过直接代码注入与润滑器
- 为什么我们应该注意Javascript中的代码注入
- 远程javascript html代码注入
- 如何将使用php变量的javascript代码注入php页面
- Parallax脚本(通过代码注入注入Enjin)Can't单击按钮
- 在加载时将代码注入iframe
- 有没有什么方法可以让用户上传的SVG图像免受代码注入等的影响
- 识别是否发生了代码注入(JollyWallet等)
- 有没有办法将自己的代码注入Firefox的QTP'
- 包含外部CSS文件是安全的,还是会导致代码注入?