XSS进阶之CSP绕过
基础知识:
CSP:实质就是白名单制度,它规定哪些外部资源可以加载和执行。它的实现和执行全部由浏览器完成。资源加载通过”script-src“、”style-src”等选项来限制外部资源的加载。”script-src”限制外部脚本的加载,strict-dynamic特性允许将信任关系传递给由受信任的script动态生成的脚本,忽略了script-src的白名单,使得之后生成的脚本可以执行。
本实验基于Ajaxify框架, Ajaxify框架会将所有带有class=”document-script” 属性的 <div>
标签转化为JavaScript脚本元素。CSP中的strict-dynamic特性允许将信任关系传递给动态生成的脚本,可以绕过script-src白名单限制,使得当从客户端插入JS时可以被解释执行。
代码
alert(1)