CSRF攻击(Cross-site request forgery)跨站请求伪造
典型的CSRF攻击流程:
- 受害者登录a.com,并保留了登录凭证(Cookie)。
- 攻击者引诱受害者访问了b.com。
- b.com 向 a.com 发送了一个请求:a.com/act=xx。浏览器会默认携带a.com的Cookie。
- a.com接收到请求后,对请求进行验证,并确认是受害者的凭证,误以为是受害者自己发送的请求。
- a.com以受害者的名义执行了act=xx。
- 攻击完成,攻击者在受害者不知情的情况下,冒充受害者,让a.com执行了自己定义的操作。
SameSite属性介绍
SameSite是cookie的一个属性,用来限制第三方Cookie。它有三个值:
- Strict(禁止第三方 cookie)
- Lax(Chrome80以后cookie的默认策略)
- None
验证是否为SameSite的问题
如果出现第三方请求setCookie失效的情况,那么我们就可以使用以下操作来验证是否为SameSite的问题。 步骤如下: Chrome浏览器地址栏输入 chrome://flags/ 找到:SameSite by default cookies、Cookies without SameSite must be secure 设置上面这两项设置成 Disable,重启浏览器
解决方案
方案一:统一主域名
将A网站与B网站的主域名统一,比如可以将A网站由 SameSite.a.com 变为http://SameSite.b.com ,与B网站http://test.b.com 保持一致。如果采取这种方法的话,需要重新申请域名,并且原有的域名都需要重定向到新域名。
方案二:升级https
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!