DVWA--CSPBypass

内容安全策略(CSP)使服务器管理员可以通过指定浏览器应认为是可执行脚本的有效源的域来减少或消除XSS可能发生的向量。然后,兼容CSP的浏览器将仅执行从这些允许列出的域接收的源文件中加载的脚本,忽略所有其他脚本(包括内联脚本和事件处理HTML属性)。
除了限制可以从中加载内容的域之外,服务器还可以指定允许使用哪些协议; 例如(理想情况下,从安全角度来看),服务器可以指定必须使用HTTPS加载所有内容。完整的数据传输安全策略不仅包括强制HTTPS进行数据传输,还包括使用安全标记标记所有cookie,并提供从HTTP页面到其HTTPS对应项的自动重定向。站点还可以使用Strict-Transport-SecurityHTTP标头来确保浏览器仅通过加密通道连接到它们。
两种方法可以启用 CSP。
一种是通过 HTTP 头信息的Content-Security-Policy的字段。
一种是通过网页的<meta>标签

Low等级

在这里插入图片描述
在受信任的网站https://pastebin.com/ 写入alert(1)
在这里插入图片描述
用raw方式显示,记下url
在这里插入图片描述
在输入框中输入刚刚的url,成功弹窗
在这里插入图片描述

Medium 等级

在这里插入图片描述

‘unsafe-inline’

 Allows the use of inline resources, such as inline `<script>` elements, javascript: URLs, inline event handlers, and inline <style> elements. You must include the single quotes.

‘nonce-’

A whitelist for specific inline scripts using a cryptographic nonce (number used once). The server must generate a unique nonce value each time it transmits a policy. It is critical to provide an unguessable nonce, as bypassing a resource’s policy is otherwise trivial. 

输入<script>alert(1)</script>,发现

在这里插入图片描述
输入<script nonce="TmV2ZXIgZ29pbmcgdG8gZ2l2ZSB5b3UgdXA=">alert(1)</script>,成功弹窗
在这里插入图片描述
查阅资料发现:Specifying nonce makes a modern browser ignore ‘unsafe-inline’ which could still be set for older browsers without nonce support.

High等级

script-src ‘self’:只允许自身加载JS
在这里插入图片描述
观察源码发现post了一个include参数
在这里插入图片描述
在这里插入图片描述
尝试postinclude=<script>alert('1')</script>失败
在这里插入图片描述
在这里插入图片描述
利用callback参数,Post

<script src="source/jsonp.php?callback=alert('1');"></script>

在这里插入图片描述

Impossible等级

与high等级不同,impossible等级执行JSONP调用,但不使用callback参数,而是硬编码要调用的函数。CSP设置只允许本地服务器上的外部javascript,不允许内联代码。

在这里插入图片描述
参考链接:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值