什么是 CSS 注入以及如何预防?

问题描述 投票:0回答:2

我听我的朋友谈论这个名为“CSS 注入”的漏洞,但是,我不知道这是什么,一听到它我就想,怎么可能使用 CSS 进行任何恶意活动或攻击?

所以我想知道这个“CSS 注入”漏洞是什么以及如何预防它。

css security penetration-testing
2个回答
5
投票

这是什么?

CSS 注入意味着攻击者设法将恶意 CSS 代码上传到您的网站,该网站将在访问者的浏览器上运行。

有危险吗?

在 2022 年写这篇文章,NO,CSS 注入几乎不会影响任何人,因为浏览器已经克服了这个问题,但注意,一些使用旧浏览器的用户可能会受到此影响。

我应该做点什么吗?

是的,即使目前还不是真正的风险,您也应该防止攻击者向您的网站注入恶意 CSSJavaScriptJavaScript 非常重要,因为最近出现了一些漏洞利用,并且大多数用户尚未将浏览器更新到最新版本。

如何防护?

您应该始终过滤用户输入免受恶意注入,但额外的保护层是:

解决这一切的方法是使用 CSP HeaderContent-Security-Policy),它允许您防止浏览器在您的网站上执行恶意代码。

apache htaccess 文件中添加以下内容,但应启用 mod_headers

Header set Content-Security-Policy "default-src 'self';script-src 'self';style-src 'self'; object-src 'none'; frame-ancestors 'none'; form-action 'self';  base-uri 'self';"

请注意如果您使用来自其他域的CSSJavaScript,则无法使用上面的代码。

如需了解更多信息并了解代码中每个单词的含义,请访问 MDN CSP

编辑:

CSS注入最简单的例子是,攻击者设法使用加载外部资产(例如在后台)的CSS代码注入您的网站,而这些资产是有效负载,幸运的是大多数浏览器已经克服了此类漏洞。

background: url(http://somehackerdomain.com/payload...)
CSS

注入的另一个简单示例仍然影响所有现代浏览器,如果您的网站JavaScript使用CSS属性值,那么攻击者可以为此属性设置一个新值作为JavaScript代码,这可能会窃取饼干等 这些只是一些简单的例子。

有关 CSS 注入的更多信息,请参阅

C-SHARP-CORNER CSS 注入

保护 cookie 的第三层保护是使用

HttpOnly,它可以防止 JavaScript 访问它们。有关 HttpOnly 的更多信息,请访问 HttpOnly


2
投票

© www.soinside.com 2019 - 2024. All rights reserved.