DVWA指点迷津-CSP Bypass

CSP

介绍

内容安全策略,实质上是白名单策略,通过限定允许加载哪些外部资源而保证网站的安全性。

CSP规定的指令:

指令

CSP规定的值

在这里插入图片描述

在实际使用中,CSP策略在Content-Security-Policy HTTP响应头或元素meta标签中提供。
例如:

<meta http-equiv="Content-Security-Policy" content="script-src 'self'; object-src 'none'; style-src cdn.example.org third-party.org; ">
//限定<script>只能来源于源目录;拒绝加载一切对象;能允许来源于cdn.example.org third-party.org的样式

DVWA

Low

应用防御措施
Content-Security-Policy: script-src 'self' https://pastebin.com  example.com code.jquery.com https://ssl.google-analytics.com ;";
//脚本只能来源于'self' https://pastebin.com  example.com code.jquery.com https://ssl.google-analytics.com
攻击方式

通过在网站根目录写入Payload测试语句
x文件
在输入框填入文件路径,浏览器成功执行
成功执行

Medium

应用防御方式
Content-Security-Policy: script-src 'self' 'unsafe-inline' 'nonce-TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=';
//脚本来源只能是'self' 页面内嵌的标签和事件监听函数  指定的内联脚本块
攻击方式
Payload:
<script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert("xss")</script>//指定的内联脚本块
<script src="../../x">dd</script> //内联标签

High

应用防御方式
Content-Security-Policy: script-src 'self';
//脚本来源只能是'self' 

前端没有输入框,通过点击按钮 -> js 生成一个 script 标签(src 指向 source/jsonp.php?callback=solveNum), 并把它加入到 DOM 中 -> high.js 中定义了一个 solveNum 的函数 -> 因此 script 标签会把远程加载的 solveSum({“answer”:“15”}) 当作 js 代码执行, 而这个形式正好就是调用了 solveSum 函数, 然后这个函数就会在界面适当的位置写入答案

攻击方式

网页除了触发high.js,还能通过burpsuite抓包,将提交的callback参数的值修改为alert(’/xss/’); 成功弹窗
burp

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值