猿人学爬虫比赛第十四题《备而后动-勿使有变》
地址: http://match.yuanrenxue.com/match/14
感觉还好吧,至少没有炸内存。
开无痕窗口,打开控制台,访问,分析数据包
在 http://match.yuanrenxue.com/api/match/14/m 接口中,有两个cookie参数
sessionid可以和13题一样,通过response-headers获取。
这个mz 需要看一下,首先该接口返回的response有js内容,先用工具尝试还原下。
工具地址:http://tool.yuanrenxue.com/deobfuscator
然后复制到编辑器中查看,复制出来的代码格式有点问题,需要自行修改下。
这里面没看出来什么东西,依旧出动我的扩展插件,如果还没有找到线索就得查源码了。
var code = function(){
var org = document.cookie.__lookupSetter__('cookie');
document.__defineSetter__("cookie",function(cookie){
if(cookie.indexOf('mz')>-1){
debugger;
}
org = cookie;
});
document.__defineGetter__("cookie",function(){return org;});
}
启动插件,清空cookie,刷新页面,等待拦截
点一下右边的sp,发现这个b64_zw就是cookie的mz。
b64_zw = G[’\x63\x57’ + ‘\x51\x54’ + ‘\x54’](btoa, z)
选中 G[’\x63\x57’ + ‘\x51\x54’ + ‘\x54’] 点过去
那么 :G[’\x63\x57’ + ‘\x51\x54’ + ‘\x54’] = function G(K, Y) {return K(Y);};
所以: b64_zw = G(btoa, z);
然后把代码扣下来就好了。
这样 mz 参数就生成了。
但是在接口 http://match.yuanrenxue.com/api/match/14 中,还有一个cookie参数 m。
老样子,改一下参数名,清除cookie,刷新页面,等待拦截
依旧没有让我失望,继续调试
点sp,跳到了13518行
复制到console中,可以发现这段就是生成m的方法了。
接下来就是分解这段,开始拼代码,删除无用的补充需要的,就不再写了。