DVWA靶场-Content Security Policy (CSP) Bypass

往期博文:

DVWA靶场-Brute Force Source 暴力破解

DVWA靶场-Command Injection 命令注入

DVWA靶场-CSRF 跨站请求伪造

DVWA靶场-File Inclusion 文件包含

DVWA靶场-File Upload 文件上传

DVWA靶场-SQL Injection SQL注入

DVWA靶场-Weak Session IDs 脆弱的Session

DVWA靶场-XSS(DOM型、反射型、存储型)

靶场环境搭建

https://github.com/ethicalhack3r/DVWA

[网络安全学习篇附]:DVWA 靶场搭建

目录

 

Content Security Policy (CSP) Bypass

Low CSP

核心代码

Medium CSP

核心代码

High CSP

核心代码

impossible CSP


Content Security Policy (CSP) Bypass

Low CSP

核心代码





";

}

$page[ 'body' ] .= '



    

You can include scripts from external sources, examine the Content Security Policy and enter a URL to include here:

          '; ?>

分析代码,发现允许的白名单网址有 self https://pastebin.com  example.com code.jquery.com https://ssl.google-analytics.com

这里作者也是给出了题解的

# https://pastebin.com/raw/R570EE00

其中 https://pastebin.com 是一个快速文本分享网站

我们可以在里面写入攻击代码

DVWA靶场-Content Security Policy (CSP) Bypass_第1张图片

创建成功后,点击raw

DVWA靶场-Content Security Policy (CSP) Bypass_第2张图片

生成攻击页面

DVWA靶场-Content Security Policy (CSP) Bypass_第3张图片

将这个网址输入到文本框中,点击include 包含这个文本进来,成功弹框

DVWA靶场-Content Security Policy (CSP) Bypass_第4张图片

查看源代码,发现这个网址已经被包含到进来了

DVWA靶场-Content Security Policy (CSP) Bypass_第5张图片

我们可以结合CSRF 攻击更加自动化

本地服务器新建一个攻击网页,csp_csrf.html

使用社工等手段,诱使用户点击该网站链接,即可攻击成功

 

Medium CSP

核心代码

alert(1)

?>



    

Whatever you enter here gets dropped directly into the page, see if you can get an alert box to pop up.

          '; ?>

看到大佬的WP 说script-src这里还设置了特殊值

unsafe-inline:允许执行页面内嵌的

 

DVWA靶场-Content Security Policy (CSP) Bypass_第7张图片

 

 

High CSP

核心代码





    

The page makes a call to ' . DVWA_WEB_PAGE_TO_ROOT . '/vulnerabilities/csp/source/jsonp.php to load some code. Modify that page to run your own code.

    

1+2+3+4+5=

     '; ?>

 

这里的CSP过滤规则 就比较恶心了,只允许加载self 也就是本页面的脚本

DVWA靶场-Content Security Policy (CSP) Bypass_第8张图片

我们跟进去查看这个页面的源代码

//会生成一个script 标签

function clickButton() {

    var s = document.createElement("script");

    s.src = "source/jsonp.php?callback=solveSum";

    document.body.appendChild(s);

}

function solveSum(obj) {

    if ("answer" in obj) {

        document.getElementById("answer").innerHTML = obj['answer'];

    }

}

//监听到solve 按钮,就会调用clickButton() 函数

var solve_button = document.getElementById ("solve");

if (solve_button) {

    solve_button.addEventListener("click", function() {

        clickButton();

    });

}

分析代码,可使用攻击post请求提交参数,具体攻击方法如下

DVWA靶场-Content Security Policy (CSP) Bypass_第9张图片

impossible CSP

核心代码



    

Unlike the high level, this does a JSONP call but does not use a callback, instead it hardcodes the function to call.

The CSP settings only allow external JavaScript on the local server and no inline code.

1+2+3+4+5=

';
function clickButton() {
    var s = document.createElement("script");
    s.src = "source/jsonp_impossible.php";
    document.body.appendChild(s);
}

function solveSum(obj) {
    if ("answer" in obj) {
        document.getElementById("answer").innerHTML = obj['answer'];
    }
}

var solve_button = document.getElementById ("solve");

if (solve_button) {
    solve_button.addEventListener("click", function() {
        clickButton();
    });
}

防范很到位


https://www.sqlsec.com/2020/05/dvwa.html#toc-heading-31

https://www.freebuf.com/articles/web/119467.html

你可能感兴趣的:(DVWA,千峰网络安全视频笔记篇,靶机实战)