cookie简介
什么是cookie?:
cookie:其实cookie是一个很小的文本文件,是浏览器储存在用户的机器上的。Cookie是纯文本,没有可执行代码
譬如我们浏览一个网站时,页面会显示上次你浏览的状态,以及你的登录情况,爱好等等,
那么为什么浏览器会记住我们呢?这里cookie就起到了大作用,当客户端第一次访问网页时,客户端会发送一个请求访问包给服务器,当服务器收到请求访问包时会给客户端反馈一个带cookie的响应包,这个包中包含客户端的用户名,密码等一些标志性信息。当客户端再次访问该服务器时,服务器会先识别该客户端cookie,一看cookie,哦原来是你,进来吧。
俗话:其实cookie简单来说就是让服务器暂时认识你
cookie的类型:
会话cookie:顾名思义,只有产生这个会话 cookie才发挥作用,当会话关闭后cookie就删除了
持久cookie:当用户进行关闭会话,浏览器,重启电脑等操作并不会删除cookie,cookie保存在当地硬盘中。
一、跨站请求伪造csrf
目录
原理:当客户端访问正常服务器A并且未关闭访问服务器B的页面,又打开另一个危险服务器B页面,那么危险服务器B就会给返回带有执行木马命令,使客户端在未知情的情况下对服务器A做操作,如图所示(本质:拿着你的名义干我想做的事)
预防:csrf预防主要是对用户验证进行处理,用户凭证主要存放在cookie中,所以预防机制处理对象就是cookie数据。
1.验证HTTP Referer 字段(bp抓包,去掉referer字段,如果还可以访问该网页,那么可能存在csrf漏洞)
2.在请求地址中添加token并验证(进行令牌验证cookie)
二、xss(跨站脚本攻击)
1.反射型(非持久性xss—— 一次性):攻击方式的注入代码是从目标服务器通过错误信息、搜索结果等等方式“反射”回来的。客户端向服务器发起请求,xss代码出现在请求url中,服务器接收到带有xss的url,并作出响应返回给客户端,最后客户端浏览器执行了xss代码
特点:
① 即时性。不经过服务器存储,直接通过 HTTP 的 GET 和 POST 请求就能完成一次攻击,拿到 用户隐私数据;
②攻击者需要诱骗点击;
③反馈率低,所以较难发现和响应修复;
④盗取用户敏感保密信息
2.存储型(持久性xss):攻击者将带有xss执行脚本的命令放入服务器端,那么这个恶意xss脚本永久存在服务器端的后端存储器上,当其他人访问该服务器时,那么恶意xss脚本将会在用户客户端中执行
特点:
①持久性
②危害面广,甚至可以让用户机器变成 DDoS 攻击的肉鸡
③ 盗取用户敏感私密信息
3.DOM型:客户端修改页面url内容,例如在js脚本中夹杂恶意脚本,然后服务器没经过过滤,那么服务器就会收到DOM-xss攻击,敏感词:document.URL、 location.hash、 location.search、 document.referrer 等