Content Security Policy (CSP) 绕过技术中,如何利用 JSONP 端点、unsafe-inline 漏洞或被信任的域来注入恶意代码?

咳咳,各位靓仔靓女们,今天老司机要带大家开一趟通往CSP绕后花园的快车。咱们不搞虚头巴脑的理论,直接上干货,手把手教你如何利用JSONP、unsafe-inline和信任域这些看似无害的东西,来搞点“小破坏”。 欢迎来到CSP绕过“从入门到放弃”系列讲座! 第一站:JSONP大冒险——跨域?不存在的! JSONP(JSON with Padding)这玩意儿,原本是为了解决跨域请求的问题而生的。它的原理很简单:利用<script>标签可以跨域加载资源的特性,服务器返回一段JavaScript代码,这段代码会调用预先定义好的回调函数,并将数据作为参数传递进去。 听起来很美好对不对?但问题就出在这个回调函数上。如果攻击者能够控制这个回调函数,那就可以执行任意JavaScript代码了。 漏洞利用流程: 找到一个存在漏洞的JSONP端点。 这种端点通常允许用户自定义回调函数的名称。 构造一个恶意的回调函数。 这个函数会执行你想要的恶意代码,比如窃取Cookie、重定向用户等等。 通过<script>标签加载JSONP端点,并指定恶意回调函数。 代码演示: 假设有一个J …