雷竞技RAYBET此文简述我在万茜盗号事件里的实验过程。只谈技术不谈其他,任何技术探讨外的评论会被删除。允许捧场砸场,但砸场的不上干货也删除为敬。
已知如果用户选择记住登录,知乎服务器侧会给浏览器返回常驻cookie,根据观察猜测cookie名为z_c0。
在某云平台上开了一台新的虚拟机,赋给该虚拟机一个全新的公网IP地址,也即是说实验的登录用户+这个新公网IP对知乎而言是一个未知组合。
通过非常简单的浏览器操作,将获取到的z_c0 cookie插入到请求里,然后发起请求。知乎网站会直接回给该z_c0 cookie对应的用户所看到的页面。也就是说,这时我已经作为这个用户成功发起访问了。
另外再提一点。常驻cookie的值,在不同设备,或同一设备的不同浏览器下都是不一样的。测试结果显示,我可以用任何一个常驻cookie的值完成登录。
此时去查移动App端的活动历史,至少我是看不到与以上相关的访问记录的。并且没有任何形式的异地登录提醒。
Cookie泄露的原因可能有很多。较为常见的是因为不慎点击恶意网站链接或安装已植入木马的软件导致cookie被木马传送出去。
吃完晚饭想了想,还是来端个水。我仔细看了一下网页版的浏览器——服务器HTTP交互,发现知乎在这一部分的安全实践还是充分的。这次事件我最质疑的归根到底是异地/未知IP访问时的判断和警告机制,跟HTTP协议安全保障没什么关系。这个问题结合基于cookie泄露进行的bypass,隐患确实存在。
但是,知乎毕竟不是电商或各大银行,所以可能这方面要求没这么高。我也并不清楚在这方面有没有法律法规作出具体规定。当前的实施有可能是在方便性和安全性之间的妥协决定,毕竟安全和便利本来天生就是一对矛盾。