http抓包实战笔记(9) Cookie
1.会话机制和cookie机制
http协议是无状态协议
对于浏览器的每一次请求,服务器都会独立处理;因此即使是同一个浏览器发送了三次请求,服务器也无法判断请求来自同一个服务器;即服务器无法记住之前的操作请求,浏览器,http协议是无状态协议.(eg:买东西加入购物车,如果是http协议的话,刷新页面,购物车清空)
会话机制
HTTP无状态的特性严重阻碍了程序的交互,会话机制可以解决这个问题.
会话机制流程:浏览器第一次发起请求时,服务器会创建一个会话,并把会话ID作为响应的一部分发送给浏览器;浏览器在下次请求时带上会话ID,服务器就能判断此处请求的浏览器跟第一次请求的浏览器是不是同一浏览器.会话开始后,不管浏览器发送多少请求,都视为一次会话,直至会话结束;
Cookie和session
cookie是由服务器端创建发送回浏览器端的,并且每次请求服务器都会将cookie带过去,以便服务器知道该用户是哪一个.
session的工作原理就是依靠cookie来做支撑,第一次使用request.getSession()时session被创建,并且会为该session创建一个独一无二的sessionid存放到cookie中,然后发送给浏览器端,浏览器端每次请求时,都会带着这个sessionid,服务器就会认识该sessionid,知道了sessionid就找得到哪个session。以此来达到共享数据的目的。session不会随着浏览器的关闭而结束,而是等待超时时间。
2.Cookie属性
name : cookie的名称。
Value : cookie的值。
Domain : cookie的域名。
Path : cookie所属的路径。 比如domain是abc.com,path是/test,那么只有/test路径下的页面可以读取此cookie。
expires/Max-Age : cookie超时时间。若设置其值为一个时间,那么当到达此时间后,此cookie失效。不设置的话默认值是Session,意思是cookie会和session一起失效。当浏览器关闭(不是浏览器标签页,而是整个浏览器) 后,此cookie失效。
Size : cookie大小。
httponly属性 : 如果cookie中设置了HttpOnly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容
Secure : 设置是否只能通过https来传递此条cookie
3.Cookie分类和保存地址
分类
保存地址
4.cookie劫持
首先,黑客通过某些手段,如xss(通常指的是通过利用网页开发时留下的漏洞,通过巧妙的方法注入恶意指令代码到网页,使用户加载并执行攻击者恶意制造的网页程序) 得到cookie; 然后,黑客可以使用cookie,在没有账号密码的的情况下进行登录;