Cookie是什么?
Cookie(储存在用户本地终端上的数据)有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 RFC2109 和 2965 中的都已废弃,最新取代的规范是 RFC6265。来自百度百科
Cookie处理流程
Cookie的处理分为:
1.服务器向客户端发送cookie;
2.浏览器将cookie保存在客户端;
3.之后每次http请求浏览器都会将cookie发送给服务器端。
Cookie分类:
Cookie总是保存在客户端中,按照在客户端的存储位置,可分为内存Cookie和硬盘Cookie。
内存Cookie
内存Cookie也可以说是进程Cookie,大部分的Session机制都使用进程中Cookie来保存Sessionid的,由浏览器维护,保存在内存中,浏览器关闭后Cookie自动消失,其存在时间是短暂的。
硬盘Cookie
硬盘Cookie保存在硬盘内,有一定的过期时间,除非用户手工清理或者到了过期时间,硬盘cookie才会失效,其存在时间是长期的。
Cookie存活时间
expries和max-age决定cookie的生命周期,也就是cookie何时会被删除。在新的http协议中,使用max-age替代expries,max-age表示生效时长,单位为秒,如果max-age为负值,则表示在会话结束后失效即session,若为0,则表示删除cookie。
关于xss获取Cookie
为什么利用xss获取用户Cookie时,要保证对方在登陆状态下,主要是由于无法判断Cookie信息的存活时间,即无法判断Cookie类型是内存Cookie还是硬盘Cookie。
当用户在未登录的情况下能否盗取Cookie? 此时取决于网站对Cookie的设置。
攻击者——>用户A浏览器(成功登陆后并退出且未清除浏览器本地缓存信息)——>获取到Cookie 此时Cookie类型为硬盘Cookie
攻击者——>用户A浏览器(成功登陆后并退出且未清除浏览器本地缓存信息)——>未获取到Cookie 此时Cookie类型为内存Cookie
转载:https://www.96007.club/2018/09/25/1/