内容安全策略实际上如何防止攻击?

时间:2019-05-08 04:20:19

标签: javascript html content-security-policy

据我了解,内容安全策略标头(或页面标题中的meta标记)指定了允许在网页中加载哪些元素。

这意味着,如果攻击者能够修改页面的内容,并添加对有害javascript脚本的调用,则不会加载该脚本,因为该脚本来自CSP不允许的域

这正确吗?

如果是这样,是什么阻止了攻击者修改CSP标头本身,从而启用了对其脚本的调用?

1 个答案:

答案 0 :(得分:3)

在许多情况下,攻击者可以修改页面,但不能修改页眉。

例如,将脚本注入页面的XSS攻击将能够注入其他脚本,但不能修改与初始页面一起发送的标头。 CSP可能阻止注入的脚本运行,也可能阻止其加载任何其他脚本。

CSP是defence in depth的示例。仅仅因为当攻击者完全接管了托管页面的服务器时失败了,并不表示它没有价值。