【攻击与漏洞】-cookie劫持

一种最常见的XSS Payload,就是通过读取浏览器的Cookie对象,从而发起“Cookie劫持”

在之前的文章中简单谈过cookie和session的区别,这一次又有了更深的理解

在学习计算机网络时,我们知道HTTP是无状态的协议, 为了维持和跟踪用户的状态, 引入了Cookie和Session。cookie存储在客户端,安全性很低,session存储在服务器端,安全性很高,很难被窃取。Cookie中保存了当前用户的登录凭证,Cookie丢失,往往意味着用户的登录凭证丢失,换句话说,攻击者可以不通过密码,而直接登录用户的账户

有一个很形象的例子说明两者之间的关系, Cookie是钥匙, Session是锁芯.一般登录用户请求页面的时候,浏览器会带上服务器颁发的凭证cookie,凭着这个凭证(钥匙),找到服务器里存着对应的session数据,一判断session里有用户信息(说明钥匙和锁芯匹配),于是根据用户信息返回相关数据。登录功能就是这样实现的。如果钥匙被别人拿了, 那别人就可以冒充你的身份, 去打开你的锁芯, 从而获取你的信息, 这是非常危险的。

攻击者一般是诱导用户执行一个远程脚本, 从该远程脚本中将cookie传给服务器,从而盗取用户cookie。之后再利用盗取的cookie登录目标用户的账号。在2004版的《白帽子讲安全》中有介绍这样一个实验例子,我自己尝试了很久,一直没有实现,现在只把书中记录的该实验流程记录下来

  1. 在firefox中访问用户的百度空间,登录后可以查看到cookie,并将该cookie记录下来
  2. 打开ie,访问同一个页面,此时在ie中,用户是未登录状态
  3. 将当前ie中的cookie替换成firefox中记录的cookie,并重新发送这个包
  4. 此时ie中的用户进入登录状态

cookie的httponly可以防止“cookie劫持”

猜你喜欢

转载自blog.csdn.net/qq_39328436/article/details/114262076
今日推荐