参考文章:DVWA—CSP Bypass | DVWA 之 Content Security Policy (CSP) Bypass
原理
白名单的机制来管理网站要加载或执行的资源
启用CSP方法:
1:HTTP头中添加Content-Security-Policy标签 ,浏览器会根据标签里面的内容,判断哪些资源可以加载或执行
2:通过**标签
作用:
可以防止攻击者从外部网站跨域**加载恶意代码
分析
Low
直接访问Low级别所对应网站,F12查看Header头中的CSP内容
访问信任的网站,添加弹窗语句
点击raw,查看raw信息,结果:https://pastebin.com/raw/FH6QHgkQ
但是发送的时候可能会出现下面这种问题
找了好久,都不行,但是换个思路,连接别人的不行,连接自己的还不行吗???
在csp目录下创建个文件a,内容:javascript:alert(1),访问的时候直接写a
Medium
看看代码,进行审计,找出可绕过原因
这里把其它的安全站点都去掉了,但是加上了unsafe-inline
不会阻止内联脚本,如内联元素,javascript:URL
不会阻止内联事件处理程序(如:onclick)和内联元素
另外,后面还有一个nonce,规定了允许的的内联脚本块
payload:<script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert("xss")</script>
High
老样子,看看代码,进行审计,找出可绕过原因
哟,看到了jsonp,那就有可能有callback参数,没有过滤的话,就可以插入了
关于jsonp跨域问题,自己网上看看就有了
抓个包,看看有没有callback参数,嘿嘿,有的,直接插
Impossible
没有callback参数的,其他地方也写死了,无解