简书模拟登录缺陷!!!

最近研究cookie和sso比较多,不知道大家有没有发现,你只要登陆过简书,不logout,不clear cookie,从新打开页面的话,能够无需登陆进入帐号,因而激发了我强烈的好奇心作了如下测试,并发现了一个很神奇的问题,不知道简书如何定义这个问题,是bug仍是符合预期?@简宝玉浏览器

1、当咱们登陆的时候,简书在咱们浏览器写入了什么cookie?

  • 未登陆

  • 登陆后

发现登录后多了两个cookie,分别是`remember_user_token`和`_m7e_session`,从字面意义上大概就是记录user token和sessionid的cookie

2、是否自动登陆和这两个cookie有关系?实验以下:

  • 关闭当前浏览器(浏览器未设置关闭时自动清除cookie),这个时候cookie仍是存在的,打开浏览器进入jianshu,发现自动登陆
  • 手动将这两个cookie删除,关闭浏览器或者刷新页面,发现用户logout了 至此能够认定这两个cookie和简书的自动登陆有关系(应该是远程的受权service作的验证)

3、remember_user_token_m7e_session 是否能够复用?

  • 前提:远程受权服务器认为该token和session是active的或者你没有主动logout
  • 过程:尝试着两个不一样的浏览器或者两个不一样的机器,根据request请求是会将cookie待会给服务器的工做流程,咱们手动将cookieremote_user_token_m7e_session使用console写入www.jianshu.com,你须要在已登陆的cookie里边手动复制这两个cookie的值出来,由于你会看到他是httpOnly而且是Secure的,document.cookie没法获取,而后使用以下写去另外一个浏览器未登陆的jianshu首页中www.jianshu.com
document.cookie = "remember_user_token=你复制出来的值;path=/"
document.cookie = "_m7e_session=你复制出来的值;path=/"

此时浏览器就会多出两个cookie,因为不是在服务器端设置的HttpOnly和Secure,因此你会发现这两个值并无打钩,不过没有关系,反正都会跟着request去到服务器端,这个时候你只须要从新刷新一下页面,就会发现自动登陆了,不知道简书对这个问题怎么定义?服务器

思考:在远程受权服务器认为咱们的token和session失效以前,万一咱们的reqeust被代理服务器抓包,并获取header中的两个cookie来手动写入cookie -> 发送请求 -> 自动登陆。这样的场景不就很危险吗?@简宝玉cookie

文章全部步骤都是通过实践检验并可行,如有问题,下方请评论,或者想要学习的也能够一块儿交流。 ![](https://upload-images.jianshu.io/upload_images/11678829-51eacfa8a19c1531.png?imageMogr2/auto-orient/stsession

相关文章
相关标签/搜索