samesite cookie防御CSRF漏洞

SameSite Cookie的解释

SameSite Cookie机制本意是为了减少网络请求包,设想下,b.com网站展示a.com下的图片,b站每向a请求一张图片,都会携带上a域下的cookie,而这些cookie对于请求来说毫无意义,无意中增加请求包大小

 

SameSite有三个属性Lax, Strict, None

Lax:b站上通过超链接访问a站,会携带a站cookie。b站通过img标签等跨越请求a站时,不会携带cookie,设置的cookie也不会起作用

Strict:b站上通过超链接访问a站,不会携带a站cookie。b站通过img标签等跨域请求a站时,不会携带cookie,设置的cookie也不会起作用

None:b站上通过超链接访问a站,会携带a站cookie。b站通过img标签等跨域请求a站时,会携带cookie,设置的cookie起作用

 

Firefox v83默认SameSite=None,SameSite=None时,还必须加上Secure属性cookie才会被浏览器接受

Chrome v87默认SameSite=Lax,该配置对CSRF有相当大的防御力

 

对CSRF漏洞的影响

1、get类型的csrf漏洞,原本可以通过img/script等标签完成攻击,但由于SameSite=Lax属性,攻击无法生效,只能通过访问超链接方式攻击

2、post类型的csrf漏洞,ajax可以完成content-type为application/x-www-form-urlencoded的csrf攻击,form表单(target=subiframe,隐藏iframe)也可以完成攻击。由于SameSite=Lax属性,只有通过form表单提交到新页面完成攻击

 

SameSite能不能抵御攻击?

1、浏览器SameSite默认属性并不能完全防止CSRF攻击,超链接访问、form表单提交到新页面等攻击方式依然有效

2、敏感业务可以设置cookie属性SameSite=Strict,防止来自站外攻击

 

参考

https://web.dev/samesite-cookies-explained/

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Set-Cookie/SameSite

 

=========更新==============

除了CSRF攻击,CORS漏洞也变得很鸡肋(本来Access-Control-Allow-Origin=any和Access-Control-Allow-Credentials=true可以轻松劫持用户会话)参考另一篇文章https://blog.csdn.net/haoren_xhf/article/details/80050311

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值