XSS漏洞学习(1)
HTTP协议回顾
HTTP的请求方式
常用
GET 请求从服务器获取资源
HEAD 类似于GET请求,只不过不会返回实体数据,只获取报头
POST 向服务器提交数据
PUT 替换服务器的内容
不常用
DELETE 请求服务器删除指定的资源
TRACE 对链路进行测试或诊断
OPTIONS 列出可对资源实行的操作方法,Allow字段里返回
CONNECT 要求服务器和另一台服务器建立连接,充当代理
扩展
MKCOL、COPY、MOVE、LOCK、UNLOCK、
PATCH
HTTP请求格式
HTTP响应格式
客户端的Cookie(相当于身份证)
cookie的来源以及作用
当客户端(用户)第一次访问一个网站时,服务端会在HTTP响应内容中给客户端下发一个cookie(非机密)(此cookie主要不删除就会一直跟随客户端),在此之后客户端再次访问该网站内容时会携带cookie,用于客户端(用户)身份信息的识别
删除cookie并再次获得cookie
在浏览器中按住CTRL+shift+delete可以将客户端之前保存的cookie全部清空,然后再打开百度,没有cookie相当于第一次访问百度这个网站,服务器在响应中通过Set-Cookie头字段,下发Cookie此时可以按下键盘的F12在网络选项中看到百度网站发给客户端的cookie
cookie后面跟的内容解释
以上面的图片第一个cookie为例
属性
-
name=value
一个name加value,就是一个cookie。name/value这个是必须的,其他的都是可选的。如果name重复,只取第一个
-
expires
cookie的过期时间(格林尼治时间),超过这个时间,cookie就会失效。如果不设置,代表是临时的cookie,cookie在浏览器关闭的时候就失效了。
-
max-age
与expires作用相同,用来告诉浏览器此cookie多久过期(单位是秒)。max-age的优先级高于expires
-
domain
cookie对哪个域名生效。如果没有设置,就设置为服务器的域名。如果是临时的cookie,就不能设置domain。比如.baidu.com,百度所有的子站都可以使用。zhidao.baidu.com只能百度知道使用。Cookie具有不可跨域名性。这个是由浏览器保证的,google服务器不能修改baidu的cookie。
-
path
除了匹配域名,还可以具体匹配到路径,如果域名和路径都匹配,那这个cookie就会起作用。如果是/,这个服务器所有的路径都可以使用这个cookie。如果没有设置,那个路径响应,path就是哪个值
-
secure
只有HTTPS连接,才发送cookie到服务器
-
httponly
告知浏览器不允许通过脚本document.cookie去更改这个值,同样这个值在document.cookie中也不可见
在哪里查看cookie
在所有浏览器中的查看方法
按F12找到存储选项(与网络选项同一水平视线上)
在谷歌浏览器中
cookie的存储地方
硬盘
有过期时间的Cookie
C:\Users\15542\AppData\Local\Google\
Chrome\User Data\Default\
内存
没有过期时间的临时Cookie,退出浏览器即失效
cookie可修改
通过F12修改
通过javascript修改(增删改查)
cookie的用途
保持会话
记住密码
跟踪用户行为