目录
cookie产生
由服务器产生--典型例子:sessionID
具体过程
- 客户端的某次请求-->发送给服务器;
- 服务器产生一个Cookie, 附加在HTTP响应头中(Set-Cookie:sessionid),传递给客户端浏览器-->浏览器保存cookie
- 客户端之后的所有请求,都会把Cookie(sessionid)附加在HTTP请求头中,传递给服务器-->服务器校验有用的Cookie信息
cookie组成
cookie类型
按过期时间,Cookie 分为2类:会话cookie、持久(永久/定时)cookie
- 会话cookie是一种临时cookie,用户退出浏览器,会话Cookie就会被删除了
- 持久cookie则会储存在硬盘里,保留时间更长,关闭浏览器,重启电脑,依然存在
应用场景:记住用户名密码(自动登录)、购物车功能
cookie测试点
1)禁止使用Cookie
设置浏览器禁止使用Cookie,访问网页后,检查存放Cookie文件中未生成相关文件;
2)Cookie存储路径
按照操作系统和浏览器对Cookie存放路径的设置,检查存放路径是否与设置一致
3)Cookie过期检查
按照Cookie过期时间,检查存放文件该Cookie是否被自动删除,测试时间范围之内和之外的cookies文件是否正常,即在时间范围内,再次打开web系统,默认信息是否会自动显示;在时间范围外,再次打开web系统时,默认信息是否不再显示cookies,是否失效
4)检查浏览器中Cookie选项
通过不同浏览器,设置是否接受Cookie文件,如同意接受Cookie,检查存放路径中是否存在Cookie文件
5)浏览器删除Cookie
通过浏览器的设置,删除Cookie文件,测试系统的行为,特别是用户处于登录状态的转换,以及系统的行为。可以通过查看个人中心。
6)Cookie加密
提交敏感信息时,数据应加密Cookie测试点
7)Cookie保存信息
验证Cookie能正常工作
8)篡改Cookie
修改Cookie内容,查看系统功能是否出现异常,或数据错乱
9)Cookie的兼容性
使用不同类型,或同一类型不同版本的浏览器,检查cookie文件的兼容性
10)刷新操作对cookie的影响
进行刷新操作后,是否重新生成cookie文件或是对cookie文件进行修改
11)检查cookie内容存储是否完整正确
若cookie进行了加密,先对cookie文件内容进行解密,然后检查是否按照设计要求存储了相关所有的cookie记录信息。
12)对应硬盘存储空间没有空闲时,是否能进行cookie内容的有效存储
13)多次做相同的操作或设置
检查是否更新或添加了新的cookie文件按照设计要求进行判断
14)如果使用cookie来统计次数,则要检测是否统计正确例如通过用户登录次数进行统计
cookie的安全威胁
- cookie泄露与欺骗--跨站请求伪造
- cookie 注入可执行代码---跨站脚本攻击xss
HTML是一种超文本标记语言,通过将一些字符特殊地对待来区别文本和标记,例如,小于符号(<)被看作是HTML标签的开始,<title>与</title>之间的字符是页面的标题等等。当动态页面中插入的内容含有这些特殊字符(如<)时,用户浏览器会将其误认为是插入了HTML标签,当这些HTML标签引入了一段JavaScript脚本时,这些脚本程序就将会在用户浏览器中执行。所以,当这些特殊字符不能被动态页面检查或检查出现失误时,就将会产生XSS漏洞。