DVWA Content Security Policy (CSP) Bypass

low

审查源码发现只允许导入白名单中的javascript网站,直接使用代码中的例子,按理说应该能弹窗,但是我没有成功,且CSP报错
DVWA Content Security Policy (CSP) BypassDVWA Content Security Policy (CSP) Bypass但是因为是刚刚接触,对于CSP还不是很熟,所以只能换种方法,反正题目的初衷应该是让了解被信任的网站也可能被攻击者利用,存有恶意代码。这里使用的是网上的另一种方法,将javascript代码保存到csp文件夹下,随便命名,例如xss,然后在导入框中导入,弹窗成功
DVWA Content Security Policy (CSP) BypassDVWA Content Security Policy (CSP) Bypass

DVWA Content Security Policy (CSP) Bypass

medium

审查源码,unsafe-inline,允许使用内联资源,nonce-source,仅允许特定的内联脚本块,那直接使用给出的例子,稍作修改<script nonce=“TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=”>alert(document.cookie)</script>
DVWA Content Security Policy (CSP) BypassDVWA Content Security Policy (CSP) Bypass

high

审查代码,发现只允许加载自身js代码,但是在js代码中,会通过source/jsonp.php?callback=solveSum调用自身js函数,利用这里进行js代码注入,即source/jsonp.php?callback=alert(document.cookie)
DVWA Content Security Policy (CSP) Bypass但是访问http://192.168.56.141/vulnerabilities/csp/source/jsonp.php?callback=alert(document.cookie)时,只是加载了后面的内容,并没有执行js
DVWA Content Security Policy (CSP) Bypass
继续查,说的是在源代码中是使用include函数进行导入(参考https://blog.csdn.net/weixin_45038413/article/details/90045128),可以通过include导入js代码,然后post提交执行,果然还是得好好学代码审计,不然一卡死就蒙了
DVWA Content Security Policy (CSP) BypassDVWA Content Security Policy (CSP) Bypass