个人样式表

信息安全 xss csrf 用户界面 css
2021-08-20 13:05:39

关于这个问题,我正在研究让用户添加自己的样式表是否会有任何安全风险。

他提出了一个场景,开发人员可能会使用位置来替换搜索和密码字段。但是,如果自定义 CSS 仅被添加样式的用户看到,那么还有其他风险吗?

即使使用expression()? 因为我不知道为什么有人会自己尝试 XSS。

2个回答

尽量不要从开发人员的角度来看安全性,而是遵循一组最佳实践。例如,您将接受来自用户的输入,以文件上传或文本输入的形式,仍然对内容进行清理,查看此问题的答案以获取有关如何清理用户定义的 css 的提示。

我不会假设 css 可能只来自将看到它的用户,这很可能是当前的要求,但如果将来一系列更改将允许绕过此限制,我不会感到惊讶。

此外,根据实现(例如,如果您将 url 提供给 css 文件),有人可能会尝试将所有 url 更改为恶意文件(http://good-site.com/user1.css - -> http://bad-site.com/?inject=user1.css ),想想 XSS、注入等...

简而言之,我的建议是根据您的项目限制实施所有可用的安全措施。

请记住,登录网站的人可能不是拥有该帐户的人。如果某人获得了用户帐户的控制权,那么他们可以在下次登录时更改样式表以攻击该用户。或者,如果此人找到通过漏洞利用更改另一个用户的样式表的方法,他们可以攻击所有用户立即访问您的网站!

假设这些漏洞本身就是危险的,您是正确的。然而,大型项目中的漏洞往往会像滚雪球一样滚雪球,你不应该让别人轻易地从一个小立足点攻击别人。让他们为之努力!关闭您发现的任何安全漏洞,无论多么小。