zl程序教程

您现在的位置是:首页 >  Javascript

当前栏目

js逆向-猿人学(14)备而后动-勿使有变

2023-03-15 22:04:25 时间

猿人学爬虫比赛第十四题《备而后动-勿使有变》

地址: 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[’x63x57’ + ‘x51x54’ + ‘x54’](btoa, z)

选中 G[’x63x57’ + ‘x51x54’ + ‘x54’] 点过去

那么 :G[’x63x57’ + ‘x51x54’ + ‘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的方法了。

接下来就是分解这段,开始拼代码,删除无用的补充需要的,就不再写了。