web蜜罐jsonp抓取信息探究

背景

攻防演练中,蜜罐普及率越来越高,防守方往往使用web蜜罐,结合第三方站点存在jsonp漏洞,来抓取攻击方的ID来进一步溯源反制。

原理

假设百度某个接口存在jsonp漏洞,防守方可在web蜜罐页面上,加载一个js,由于js请求可跨域,即可向存在jsonp漏洞的xx.baidu.com/xx发请求。
如果访问者存在baidu.com的登录态,那么这个请求是能自动带上baidu.com的cookie的,响应中会有回调函数以及json格式封装的数据。

  1. 如下即为某个大型第三方网站某接口存在jsonp漏洞,可利用该接口获取用户名
    在这里插入图片描述
  2. 具体到web蜜罐中应用,就是在某个js中写入1中提到的逻辑,然后受害者访问网站时候,自动加载这个js,触发到xx.baidu.com(仅以百度为例)的请求,js中拿到响应数据中的用户数据,最后再请求自己后端接口,数据入库
    在这里插入图片描述

防御

  1. 从几年前开始,浏览器中cookie新增了一个属性:samesite。这个属性出现,就是为了解决csrf和jsonp这类前端攻击。samesite介绍:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
  2. samesite不再展开介绍,简单说来,浏览器默认设置和后端默认set-cookie情况,cookie的samesite属性默认为lax:即在a.com域下,通过jsonp这种方式,请求b.com,将不会再自动带上b.com的cookie。
  3. 以下官方介绍很清楚了,其实jsonp攻击也是csrf的一种。
    在这里插入图片描述

例外

当然也有例外情况,但是结合实际攻击场景,这种情况比较少:

  • 第三方网站set-cookie时,将该cookie的samesite属性设置为None
  • 用户手动更改了浏览器默认设置,使samesite为lax情况下,还是会在jsonp跨域请求中,自动带上cookie
  • 用户使用较低版本浏览器或不支持samesite默认为lax浏览器
  1. 第一种:结合实际情况,目前看下来,把cookie的samesite设置为None的很少,而且重要cookie一般都不会这么设置
    在这里插入图片描述

  2. 第二种:以chrome浏览器为例,用户一般也不会手动更改这个配置项。如果chrome中要修改,可以在chrome://flags/,搜索samesite,把SameSite by default cookies设置为disabled,这样jsonp请求又会自动带上第三方cookie
    在这里插入图片描述
    在这里插入图片描述

  3. 第三种,具体各个浏览器及版本支持可参考mdn,可以看到大部分主流浏览器都是支持的:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite
    在这里插入图片描述

总结

  1. 从X-XSS-Protection、CSP和samesite等策略可以看出,浏览器侧安全是不断进步
  2. 传统的csrf攻击、jsonp攻击和使用web蜜罐溯源攻击者将会越来越困难
评论 1 您还未登录,请先 登录 后发表或查看评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:游动-白 设计师:我叫白小胖 返回首页

打赏作者

ATpiu

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值