Web漏洞分析与防范实战:卷1
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.2 CSP

CSP(Content Security Policy,内容安全策略)是一种增强型的安全措施,旨在检测和缓解各种攻击,特别是跨站脚本攻击(XSS)和数据注入攻击。CSP的显著优势在于,它是在浏览器层面实施防护机制,与同源策略处于同一安全级别。除非浏览器本身存在漏洞,否则从原理上讲,攻击者无法绕过这一保护机制。CSP严格限制了允许执行的JS代码块、JS文件、CSS等资源的解析,并且只允许向预先设定的域名发送请求,从而确保了网络内容的安全性。

一个简单的CSP规则如下所示。

CSP规则的指令分很多种,每种指令分管浏览器中请求的一部分,如图1-1所示。

图1-1 CSP规则的指令

每种指令都有独特的配置,如表1-1所示。简而言之,针对各种数据来源和资源加载方式,CSP都设有相应的策略。

表1-1 每种指令的配置

我们可以这样理解:如果一个网站实施了足够严格的CSP规则,那么XSS或CSRF就能从根源上得到防范。然而,实际情况真的如此吗?