当前栏目
js逆向-猿人学(14)备而后动-勿使有变
猿人学爬虫比赛第十四题《备而后动-勿使有变》
地址: 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的方法了。
接下来就是分解这段,开始拼代码,删除无用的补充需要的,就不再写了。
相关文章
- TiDB Binlog 组件正式开源
- 使用Visual Studio Code对Node.js进行断点调试
- 推荐!数据可视化的十种优秀JavaScript图表库
- Node.js在复杂集成场景下占据统治地位的五个理由
- 玩转Node.js单元测试
- Node.js中内存泄漏分析
- Angular对React:一场关于Web开发者支持率的史诗对决
- 热点推荐:什么是后端开发?
- 谈谈Spring boot 启动层面的开发
- 使用NodeJS将文件或图像上传到服务器
- 编写React组件的最佳实践
- JavaScript MV*框架最值得关注的七个亮点
- 前端开发指南:如何利用PHP Cake框架构建应用
- 基于React与Vue后,移动开源项目Weex如何定义未来
- NodeJS和C++之间的类型转换
- jQuery中的常用到的三十九个技巧
- 官宣|Google Developers中国网站发布!
- NodeJS和C++之间的类型转换
- .NET Core首例Office开源跨平台组件(NPOI Core)
- 如何写出漂亮的React组件