1、前言
这道入门级cookie看起来挺简单,但对刚入门的新手来说,要找到生成cookie的逻辑,其实还是需要掌握一定的抓包技巧,比如对fiddler工具的基本使用要有一定了解,要不然可能会做的有点懵,废话不多说,回顾下自己解这题时的经历吧。
2、解析过程
还是打开开发者工具,查看xhr请求,发现这题的请求头内的cookie中包含了两个参数:sessionid和yuanrenxue_cookie,这应该是就是我们要找的加密参数。
顺着这个请求的调用栈,来到请求最初发起的request函数这里,发现并没有生成cookie相关的逻辑,这个时候就考虑是不是通过其他js文件来实现了加密
全局搜索了一下cookie关键字,找到几个看似跟cookie赋值有关的地方,并下断点调试了一下,却发现这些js文件内的cookie在最初就已经被赋值了,为确保不是浏览器缓存的问题,清空了先前浏览器保存的cookie记录,发现cookie还是已被赋值状态,此时我就开始怀疑应该是在此之前就有其他文件生成了cookie,但是浏览器抓不到这个请求。
打开fiddler尝试抓了一下包,发现果然有问题,实际上对这个链接:http://match.yuanrenxue.com/api/match/13的请求其实发生了两次,而在第一次请求时服务器就返回了sessionid和yuanrenxue_cookie的生成字符串,之后在cookie中带着这两个参数就可以正常访问返回数据了。