gpt4 book ai didi

php - XSS 是否可以通过 @import 实现,如果可以,如何实现?有什么方法可以防止它吗?

转载 作者:行者123 更新时间:2023-11-28 11:10:43 25 4
gpt4 key购买 nike

我们允许在我们的 CMS 中通过自定义 CSS 编辑器使用 @import,但我想知道这样做是否让我们自己面临潜在的安全风险,是否可以使用它XSS?

如果是这样,那将如何运作?此外,我们如何保护自己免受此类攻击?

仅供引用,我们实际上并没有在自定义 CSS 中保留 @import 语句,它们通过 preg_replace_callback() 被剥离并替换为它们的实际通过 file_get_contents() 定位内容。这样 CSS 仍然可以被缓存而不阻止页面加载,但可能让我们有机会过滤使用的 URL,甚至是返回的内容。


编辑:

经过@duskwuff 的快速教育后,很明显提供服务存在很多潜在问题,但看起来类似的问题和答案(此处:https://stackoverflow.com/a/5209050/1058733)表明可以使用 HTMLPurifier + 非常安全地完成CSSTidy 在 file_get_contents() 之后和缓存之前清理完全适合我们脚本的 CSS 输入,另外在保存对象过程中进行良好测量。

最佳答案

是的。一般来说,CSS 是不安全的 - 有多种方法可用于注入(inject) Javascript 代码,包括但不限于:

根据您网站的性质,不受限制的 CSS 也可用于通过重新格式化页面内容以看起来像密码提示来窃取用户的密码,或者通过重新格式化或隐藏页面的重要组件来拒绝访问网站(例如,隐藏“登录”链接)。

不要让用户输入将在您的网站上使用的 CSS,除非您准备好完全解析它并根据批准的属性和选择器的白名单对其进行验证。

关于php - XSS 是否可以通过 @import 实现,如果可以,如何实现?有什么方法可以防止它吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20479090/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com