
>
原文地址: >
截取的是你的网站的
xss真正的原理是将代码插入到某个网页里面,当浏览器访问这个网页的时候,就会执行你写的代码。如果这个代码具有获取cookies的功能,即可获得当前页面的cookies
然而不同的网站cookies是不同的,也是不允许互相访问的。这就要求你必须把xss代码插入到当前页面里面,并且能成为目标页面中的一部分代码被浏览器执行,这样才能成功获取对方的cookies(这样子程序是在对方网站的页面里面执行的,当然截取的就是对方网站的cookies)。而不是写一个连接,让别人打开你的网页(这样子程序就是在你的页面里面执行的,当然没啥效果)
qq邮箱的xss越来越少了,要知道腾讯的技术人员不是白吃饭的。想要xss不一定非要对qq邮箱下手,如果能在别的分站里面找到xss不一样是照打不误么?qq的页面那么多何必困在qq邮箱里面呢~
背景
Chrome浏览器升级到80以后,对属性SameSite的默认值从 None 改为了 Lax ,从而导致我们的个别线上应用突然间拉胯了。
为什么该改动会影响线上系统呢,在此得先描述一下受影响应用的特点:
三方系统引入,我们当时采用的Iframe方案,也就是在 系统A(axxcn) 中的页面通过Iframe加载 系统B(bcomcn) 。
异常原因
经过分析后发现,内嵌的系统B无法读取自己设置的Cookie,导致一系列的问题。
是不是很奇怪,系统B自己设置的Cookie,自己读不了。
Why?
在分析前,首先我们得先了解一下,属性SameSite的含义:
简单来说,SameSite是响应头的一个属性,它的值会决定 跨站 访问的时候是否允许发送Cookie。SameSite的值有三个:Strict,Lax,None。
请注意,我们在描述的时候,一直都加前缀“跨站访问的时候”,那什么是跨站?很多人会和跨域混淆,它俩在定义上是不同的。
公共后缀(public suffix list)
是一份顶级域名列表,最早是由Mozilla提出,目前已经被主流浏览器采用。
举个例子方便大家了解,下面两个站点:ateldcn,bteldcn
好,目前为止,我们已经弄清楚跨域和跨站的区别。而属性SameSite只是影响跨站访问的情况。我们再回过头看第一句话“ Chrome浏览器升级到80以后 ,对属性SameSite的默认值从 None改为了Lax ”
那80版本以前是什么样呢?
80以前,SameSite的默认值是None,也就是说我们在跨站访问的时候,都可以发送Cookie。下面举个例子(聚焦前后端分离的场景,服务端写Cookie,暂时忽略):
80以前跨站的时候,写读很正常。但80以后呢,SameSite的默认值改为了Lax,那跨站的时候,自然就读不到了。
怎么解?第一想法就是把默认值设置成None(80以上版本要求设置None的时候,必须设置Secure)
80以上版本是解决了,哪80版本以下呢?这就不得不说一下兼容性问题,下面是谷歌的升级说明(点击放大查看):
简单来说就是:早期的版本并不能正确识别None,而且各个系统浏览器的行为还不一致,有的会将SameSite=None的Cookie直接拒绝,而有的就会解释为SameSite=Strict,和我们的期望大相径庭。
怎么解?目前通用的方案是多设置一个Cookie,如果Cookie读写方法封装起来的话,该 *** 作对业务也是无感的,示例如下:
多设置一个,当读取的时候,先读test,如果发现没有再读__test。
还有一种方案是通过UA检测,进行浏览器黑名单的确认然后针对性处理。虽然双Cookie在资源上有浪费,但考虑到国内纷繁复杂的浏览器环境,个人更推荐双Cookie的解决方案。
到这里问题结束了么?
因为从iOS 和 iPadOS 134 开始,Safari增加了智能反追踪功能,如图:
并且“阻止跨网站跟踪”默认是开启的,意思就是拒绝所有的跨站请求传送Cookie,可以理解为设置SameSite=Strict,所以如果是ToC系统,要考虑苹果Safari用户的话,上述处理都有瑕疵。
总结
所以,跨站问题要处理到什么程度,要结合自身系统特点来判断。比如:
技术没有银d,只要我们深入了解跨站请求的机制和原理,在合适的场景采用合适的技术策略,跨站问题最终将迎刃而解。
手机看视频中出现“请允许cookie存储”是保存你的数据的意思。
可以试试下面几种办法解决:
1:打开设置/Safari/点击—『清除历史记录』『清除cookie和数据』
2:打开设置/iTunes store和app store 点击 ,然后注销帐号,在打开设置/通用/
还原/还原网络设置。最后连接无线网,然后点击无线网的那个右键标志。看到DNS删除。改成114114114114 在返回无线局域网,这是就会自动重新连接,完成以后那么先不要登陆帐号,进入app游戏,点击的时候就会有提示 登陆帐号,那么这时在登陆帐号即可。
3:无线网络或者移动网络的问题。自己检查一下网络是否正常。
4:重新创建帐号,如果还是不能的话,那么就两个原因。第一;自己网络问题,第二;服务器在维护。
我们通过的服务器和客户端进行交互往往是通过>
以上就是关于HttpOnly Cookie 怎么讲全部的内容,包括:HttpOnly Cookie 怎么讲、一篇文章带你走进cookie,session,Token的世界、Cookie 的同源和同站等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)