大众点评 web mtgsig 1.2分析

声明:

本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!
有相关问题请第一时间头像私信联系我删除博客!
前言

简单分析一下大众点评mtgsig1.2。

mtgsig

为了搞快点我就拿了一个脚手架弄了。

复制代码
const {VM, VMScript} = require('vm2');
const fs = require('fs');
const file = fs.readFileSync('./mtgsig.js')
// By providing a file name as second argument you enable breakpoints
const script = new VMScript(fs.readFileSync(file), file);
new VM().run(script)

然后开始补环境缺什么补什么。主要需要补的一些环境。

复制代码
XMLHttpRequest   = function XMLHttpRequest() { // 构造函数
};
catvm.safefunction(XMLHttpRequest);
XMLHttpRequest = catvm.proxy(XMLHttpRequest);
sessionStorage = {};
sessionStorage = catvm.proxy(sessionStorage);
indexedDB = {};
indexedDB = catvm.proxy(indexedDB);
document.createEvent = function createEvent(event_type) {
    if(event_type == 'TextEvent'){
        throw new TypeError("Illegal constructor");
    }
}
AudioContext = function AudioContext() { // 构造函数
};
catvm.safefunction(AudioContext);
AudioContext = catvm.proxy(AudioContext);
fetch = function fetch() { // 构造函数
}
catvm.safefunction(fetch);
fetch = catvm.proxy(fetch);
getOwnPropertyDescriptor_ = Object.getOwnPropertyDescriptor;
Object.getOwnPropertyDescriptor = function getOwnPropertyDescriptor(obj, prop) {
    return getOwnPropertyDescriptor_(obj, prop);
}
catvm.safefunction(Object.getOwnPropertyDescriptor);

token

这个随便抠一下代码就好了。

结果

总结

1.出于安全考虑,本章未提供完整流程,调试环节省略较多,只提供大致思路,具体细节要你自己还原,相信你也能调试出来。

侵权首页联系删除博客

相关推荐
じ☆冷颜〃15 小时前
分布式系统中网络技术的演进与异构融合架构(HFNA)
笔记·python·物联网·设计模式·架构·云计算
夜思红尘18 小时前
算法--双指针
python·算法·剪枝
人工智能训练18 小时前
OpenEnler等Linux系统中安装git工具的方法
linux·运维·服务器·git·vscode·python·ubuntu
Wang153018 小时前
jdk内存配置优化
java·计算机网络
0和1的舞者18 小时前
Spring AOP详解(一)
java·开发语言·前端·spring·aop·面向切面
Wang153018 小时前
Java多线程死锁排查
java·计算机网络
智航GIS19 小时前
8.2 面向对象
开发语言·python
小小星球之旅19 小时前
CompletableFuture学习
java·开发语言·学习
蹦蹦跳跳真可爱58919 小时前
Python----大模型(GPT-2模型训练加速,训练策略)
人工智能·pytorch·python·gpt·embedding
xwill*19 小时前
π∗0.6: a VLA That Learns From Experience
人工智能·pytorch·python