如果我允许用户添加CSS,会有安全威胁吗?

4

在社交网站上,允许用户向个人页面添加自己的CSS规则是否不安全?


是的?问题是,什么是威胁,它如何融入您处理入侵的整体策略中。 - Alex Feinman
1
应该发布在Stackoverflow上,因为它没有任何主观性(无论“安全”可以以不同的方式定义/解释,它要么是安全的,要么不安全)。 - Deckard
1
如果“安全”是主观的,那么关于某物是否安全的问题也是主观的。 - Nanne
可能是dangers to user css的重复问题。 - user151323
3个回答

12

这并不安全。有多种方法可以将JavaScript嵌入到CSS中,以使其在至少一些浏览器中被执行。请搜索“XSS CSS”并查看前几个结果。

如果您不想进行彻底的CSS清洗,并且不想在CSS清洗不可避免地被绕过并导致用户cookie泄漏时解决问题,请不要这样做。


2

允许用户输入自由格式的CSS文本(或上传文件)可能会导致安全问题。最好提供一个控制面板,让他们可以自定义外观和感觉(当然有限制,可能无法构建一个让他们可以自定义所有内容的表单),并通过CSS实现自定义,同时将他们的设置存储为结构化数据库表中的值。


1
一个需要考虑的问题是安全性的差异,一方面可以阻止XSS攻击,另一方面则需要防范恶意人士使用CSS创建钓鱼页面,例如使用背景图像来模仿用户登录页面。 - Dan Blows
@Blowski:说得好。在一个具有误导性的背景图像下进行阻止将是困难的。最简单的方法是限制用户使用一组大型预选图像,或者如果允许上传图像,则必须由工作人员手动批准这些图像。 - FrustratedWithFormsDesigner

2
我想之前有人回答过这个问题
历史课:myspace允许自定义CSS和脚本。对于那些在2003年左右没有逗留在网络上的人来说,这是一个重大的安全威胁。后来,用户生成的大量CSS成为该平台的主要不利因素,因为许多变化和改进无法实现,他们实际上为其CSS挂钩创建了一个公共API。
所以让用户做CSS是一个非常非常糟糕的想法。

我曾以为Myspace可能存在一个大的CSS XSS漏洞或其他问题 - 后来我发现他们已经遭受了XSS攻击(就像每个主要网站一样),而且他们还允许自定义用户CSS。虽然这两者之间没有因果关系,所以我不知道,也许是错误的URL。 - Carson Myers
我稍微编辑了一下我的回答,以提供更多的上下文。但是,不,我没有粘贴错误的URL。 - Wyatt Barnett
@Wyatt Barnett:这是一个很好的教训,你有没有任何关于MySpace问题的文章链接? - FrustratedWithFormsDesigner
是的,请给我们提供关于myspace.com问题的参考资料,因为我想知道确切的问题以避免它。 - Emad Elsaid
最近你看到的大部分“myspace已死”的文章都暗示了这个问题,但并没有一个权威参考。在某种程度上,这是困扰myspace存在的一个巨大潜在问题,一旦这只猫逃出袋子,它几乎是一个无法解决的问题。我认为Twitter做得很好,让人们自定义他们的页面,而不会打开可怕的漏洞和丑陋的外观。 - Wyatt Barnett

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接