1.1 HTTP协议
1.1.1 HTTP请求方式(GET POST)
GET请求用于发起查询
POST请求用于向服务器提交数据
1.1.2 HTTP请求格式
请求行 请求头 请求体
1.1.3 HTTP响应格式
可在网页中按“F12”或者鼠标右键进行查看
1.1.4 HTTP特点
请求应答模式
灵活可扩展
可靠传输
无状态 stateless
1.2 客户端的Cookie
为了解决http的无状态影响:每个请求都是独立的,
需求:保持会话
可以cookie来实现需求
cookie内容:key/value格式,如:
name=xx id=99 islogin = 1
在网页中按“ctrl + shift + delete”键,会出现下图所示,可清除之前上网的痕迹,
用Set-cookie给客户端设置cookie
BAIDUID为key 后面为value
Thu和max-age都为cookie的生命周期,max-age优先级高 domain=.baidu.com 表示在百度所有子网都可以用
cookie保持的地方:1.内存 2.磁盘
cookie有过期时间放到磁盘中进行存储;
临时cookie存储在浏览器中,关闭浏览器,临时cookie即结束
cookie不能跨浏览器,跨域名使用,不同浏览器各种管cookie
有 cookie之后,cookie可在headers中查看
Cookie的特点:
1.明文
2.可修改
3.大小受限 据浏览器而定
Cookie的用途:
1.记住登录状态
2.跟踪用户行为
1.3 服务端的Session
cookie的缺点:1.占用客户端资源 2.增加HTTP通信成本
cookie和Session的对比:所有的cookie值都保存在客户端
而Session保存在服务端,通过cookie字段去给客户端下发PHP SESSID
1.用户第一次访问产生会话,向会话中添加key/value
2.用户第二次访问,检验Session
3.用户注销
1.4 JavaScript 操作Cookie
用JavaScript读取Cookie:alert(document.cookie)
![在这里插入图片描述](https://img-blog.csdnimg.cn/4e4545c99b054ab594ab35759ac18c59.png
写入cookie: document.cookie=“username=wuya”
修改cookie就是覆盖原本的cookie
删除cookie,设置生命周期
1.5 脚本注入网页:XSS
恶意攻击者用web页面的漏洞,插入一些恶意代码,当用户访问页面的时候,代码就会执行,达到攻击目的.
可分为:反射型和存储型
反射型:每次需要发送
存储型:为持久的
我们在内容或是一些字段中输入这个测试的payload,就可能可以看到弹框,这就表示漏洞存在。
1.6 XSS防御方法
1.识别:正则表示
识别恶意脚本以及其变形
工具:WAF(web应用防火墙)Modsecuity3.0