DVWA之CSP Bypass( 二 )


高级源码限制了只能加载自己的文件
【DVWA之CSP Bypass】首先,在文件 high.php 中设置了一个 CSP 头部,规定只允许从同一源的脚本加载,即 -src ‘self’ 。这样可以防止恶意代码的注入 。然后,通过 PHP 的函数将 CSP 头部发送给浏览器 。
接下来,在表单提交时,如果存在名为的 POST 参数,将其作为代码包含在页面主体中 。
点击按钮时,会执行函数 ,该函数动态创建一个元素,并设置其 src 属性为 /jsonp.php?= 。这里使用了 JSONP(JSON with )技术,通过指定回调函数名称的方式来获取跨域的数据 。当脚本加载完成后,会调用函数 ,将返回的数据展示在页面上 。
在文件 high.js 中定义了函数用于创建元素并加载跨域脚本,以及函数用于处理返回的数据 。最后,通过事件监听,当按钮被点击时,调用函数 。
1.首先,浏览器会执行函数。
2.在函数中,会动态创建一个
由于为可控参数且回调函数的名称可更改
故构造POC如下:
include=
F12打开