CSPBypass
CSP简介
CSP全称是: Content-Security-Policy, 内容安全策略。
是指HTTP返回报文头中的标签,浏览器会根据标签中的内容,判断哪些资源可以加载或执行。主要是为了缓解潜在的跨站脚本问题(XSS),浏览器的扩展程序系统引入了内容安全策略这个概念。原来应对XSS攻时,主要采用函数过滤转义输入中的特殊字符、标签、文本来规避攻击。CSP的实质就是白名单制度,开发人员明确告诉客户端,哪些外部资源可以加载和执行。开发者只需要提供配置,实现和执行全部由浏览器完成。
low级别
通过对http头中定义了CSP定义了CSP 标签,‘self’指可以访问的网址,网址白名单及 https://pastebin.com ,访问后发现为文本编辑网址,我们可以在该网址编辑xss脚本,然后包含该网址实现XSS
在白名单网址,编辑脚本
把网址复制到执行页面执行,发现没成功,没弄清楚为啥,原理上因该是成功的
medium级别
分析页面源码发现他已经制定了随机数,注入时代这个随机数就好
执行代码
high级别
分析源码发现,没有信任的网站,那就只能在自己本地包含东西,利用javascript的回调
[
提交代码执行注入成功
总结
漏洞原理:虽然csp白名单能一定上阻止xss攻击,但是如果被信任的网址本身也有问题的话或者csp策略运用不好也会被绕过
单能一定上阻止xss攻击,但是如果被信任的网址本身也有问题的话或者csp策略运用不好也会被绕过
防御:csp白名单设置要合理,定期检查被信任网站安全