当前位置: 首页 > article >正文

爬虫逆向学习(七):补环境动态生成某数四代后缀MmEwMD

声明:本篇文章内容是整理并分享在学习网上各位大佬的优秀知识后的实战与踩坑记录

前言

这篇文章主要是研究如何动态生成后缀参数MmEwMD的,它是在文章爬虫逆向学习(六):补环境过某数四代的基础上进行研究的,代码也是在它基础上增加补点的,且下文破解的接口所需的cookie也可以直接用它的代码得到。

MmEwMD

某数针对xhr请求会在其后缀增加MmEwMD参数,它魔改了xhropen方法,而MmEwMD就是在open方法执行时生成的,某数并没有强制请求一定要携带MmEwMD参数,但是如果携带了它就一定会校验,校验失败则返回400。
在这里插入图片描述

实战

生成位置定位

站点:aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL25ld19ob3VzZS9uZXdfaG91c2UuaHRtbA==
目标接口:aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuL3NlcnZpY2UvZnJlc2hIb3VzZS9nZXRTZXZlbkRheXNSYW5raW5nLmFjdGlvbg==
其实就是这个排行版,不过所有接口都是一套逻辑,都可以用来实验。
在这里插入图片描述

查看包的调用栈,点击下图红框的堆栈进入执行代码
在这里插入图片描述

前面我们知道了某数魔改了xhropen方法并在此实现MmEwMD生成的,这时就直接锁定s.open,在这里打断点,重新刷新页面,将断点在这里断住后跟进去
在这里插入图片描述

可以看到这里就是生成位置了,至于更深入的生成位置这里不研究,因为我在深入研究后发现这个位置比较适合补环境,当然大家学习时可以深入研究,MmEwMD的生成逻辑并不难,算法实现也未尝不可。
在这里插入图片描述

补环境思考

这里是选择补环境的方式进行破解的,如果想算法破解,可以参考瑞数4——MmEwMD逆向分析,这篇文章很详细得分析了MmEwMD参数的生成逻辑。

在实现参数的补环境时,其实有过思考:

既然某数是魔改了xhr,那能不能在nodejs模拟xhr发包,直接拿到魔改后的url呢?
如果这种方式可以实现,那不需要深入研究代码就能快速拿到加密结果了,但是很遗憾,我使用nodejs包xmlhttprequest进行hook发包,但是没法hook到,浏览器端使用的window.XMLHttpRequest,没法复现。

生成代码中哪个位置是比较容易执行的?
这个位置其实就是前面生成位置定位中指明的,我是这么思考的
这里选择的是通过_$O3得到加密结果,如果直接调用_$xI,那得创建xhr对象,执行会报错。大家可以去看_$O3的代码,它只需要一个参数也就是url,且它的代码本身就是在处理url,如果使用比它更细的维度方法,可能会执行异常。
在这里插入图片描述

MmEwMD是在VM层生成的,且每次代码都会变化,怎么实现动态生成的?
只要我们能动态拿到_$O3方法然后将其导出,那无论VM怎么变都不影响了。
这里说一下,VM这一层是调用.call执行得到的,它的代码会根据content和外链js变换而变化,我们在调试时可以直接拿到call后的代码,写死能方便我们调试。在补成功拿到加密结果后,就可以使用正则匹配在执行call前匹配替换加入自己的导出代码。
在这里插入图片描述

破解

这里我们还是在原来的代码上处理,我们直接把call后的代码复制给ret,它本身是自执行函数,然后我们创建全局变量params_enc导出关键代码函数_$d0
在这里插入图片描述
注意我调试的代码方法名变了,大家根据自己实际的代码情况处理
在这里插入图片描述

这时我们就拿到了目标函数,直接执行它
在这里插入图片描述

看执行结果发现并没有加密,这时我们就知道是document.createElement('a')出的问题了
在这里插入图片描述

这里使用debugger将它断住,看看是哪里调用的它
在这里插入图片描述

看代码知道它对取值结果做了很多判断
在这里插入图片描述

做以下处理,将a加入hook环境中,看看它都做了啥
在这里插入图片描述

缺啥补啥,值去浏览器拿
在这里插入图片描述

最终需要补全,都是必须要的,补好就能拿到结果了
在这里插入图片描述
在这里插入图片描述

动态获取

上面我们在代码写死条件下实现了参数加密,不过在调用时总归是要实现动态的,毕竟我们每次获取的content和自执行函数是不同的,上面我们说要用正则匹配来拿到目标函数,其实就是两个地方

  1. 找到ret = _$b6.call(_$Yq, _$cZ)并将_$cZ拿出来
  2. params_enc = _$d0;放进_$cZ

思路就是这个思路,给大家看看我实现的正则匹配后结果
匹配前
在这里插入图片描述
匹配后
在这里插入图片描述
我实在python层实现的正则匹配
在这里插入图片描述

破解结果

在这里插入图片描述


http://www.kler.cn/a/317324.html

相关文章:

  • Python期末复习 | 列表、元组、字典、集合与字符串 | 代码演示
  • 力扣 LeetCode 541. 反转字符串II(Day4:字符串)
  • 【智能电视??】关于电视、以及IPTV 和OTT TV区别(了解)
  • javaWeb小白项目--学生宿舍管理系统
  • SkyWalking-安装
  • python习题练习
  • AIGC时代!AI的“iPhone时刻”与投资机遇
  • Electron 隐藏顶部菜单
  • 面试速通宝典——2
  • 在特征工程中,如何评估特征的重要性
  • linux使用docker安装运行kibana报错“Kibana server is not ready yet“的解决办法
  • Linux 网络安全守护:构建安全防线的最佳实践
  • 【开源免费】基于SpringBoot+Vue.JS学科竞赛管理系统(JAVA毕业设计)
  • 对onlyoffice进行定制化开发
  • 1614. 括号的最大嵌套深度
  • 单片机原理与应用
  • 深入理解音视频pts,dts,time_base以及时间数学公式
  • GNU链接器(LD):什么是符号?符号定义及实例解析
  • 网络分段:您需要了解的一切
  • ssh 免密登陆服务器故障
  • 免费在线压缩pdf 压缩pdf在线免费 推荐简单好用
  • 学习Vue3骨架+异步组件(defineAsyncComponent)+Suspense
  • Rust的初级学者课程和学习资源推荐
  • MyBatis-Mapper 接口与 XML 映射
  • NLP 主要语言模型分类
  • 项目实战:Qt+OSG爆破动力学仿真三维引擎测试工具v1.1.0(加载.K模型,子弹轨迹模拟动画,支持windows、linux、国产麒麟系统)