将style-src
设置为'self'
会禁用通过style
标记或style
属性使用内嵌样式。这按预期工作。通过JS添加style
元素也被阻止。
但我真的很惊讶我仍然可以设置HTMLElement
的{{1}}对象的属性。例如,这不会触发CSP违规:
style
所述的攻击
答案 0 :(得分:2)
大概是因为如果您已经允许脚本注入,那么样式修改是您最不担心的。
样式元素和属性被阻止以防止恶意乱搞,可以在没有 JS的情况下完成。如果有人正在修改DOM本身(而不仅仅是演示文稿),那么无论如何都要严重得多。
您提供的第二个链接与此无关;这个演示不再起作用,但显然它正在做的是链接到一个引用页面,好像它是一个样式表,并使用一个有效的css已经在两个位置的引用页面中种植来处理插入的文本作为图片网址。 CSP与那里不相关,因为攻击来自另一个方向;故意将攻击链接页面设置为允许加载外部样式表。 (我不认为可以在css文件本身的HTTP响应上设置CSP头 - 或者其他文件被视为CSS - 禁止外部链接到它,尽管我可能是错的。)