httponlycookie

cookie是目前标识用户身份一项非常流行的技术;设置httponly的cookie客户端是不能通过js来修改的;
你以为这样就万事大吉,没有办法伪造了吗?

背景介绍

假设网站A通过设置httponly的cookie用来记录用户的登陆状态,即只要客户端的请求当中如果包含了有效cookie就自动进入登录状态;
假设我具有一个有效cookie,我现在想通过这个cookie在别的地方直接进入登录状态,由于此cookie是httponly的,所以不能通过js直接修改生成;

伪造步骤

  1. 自己搭建一个服务器,用来生成与有效cookie的键值对相同的cookie;
  2. 在本机的hosts文件中配置对应的域名为127.0.0.1;
    127.0.0.1 www.finapm.com
  3. 通过域名访问自己搭建的服务器用来在客户端的此域名下生成对应的cookie
  4. 将本机hosts中的配置去掉
  5. 访问实际域名的网站,此时就会把cookie带过去了

所以即使httponly 的cookie也非绝对安全,也不可直接用于用户免登陆,可以加上一些加密算法,跟客户端IP,浏览器等属性绑定





原文地址:https://www.cnblogs.com/vvch/p/5071275.html