猿人学相关笔记

第2题

摸索遇到困难,参考的 视频 博客

分析和hook cookie

前面就不多赘述,cookie的关键参数是m 然后hook住,不会的百度,我这边用fildder,hook代码

(function () {
  'use strict';
  var cookieTemp = '';
  Object.defineProperty(document, 'cookie', {
    set: function (val) {
      if (val.indexOf('m') != -1) {
        debugger;
      }
      console.log('Hook捕获到cookie设置->', val);
      cookieTemp = val;
      return val;
    },
    get: function () {
      return cookieTemp;
    },
  });
})();

回溯扣代码

通过hook右边堆栈上一步就是cookie,然后把后面核心代码拿出来,只要m= 后面那部分 _0x45cda2[$dbsm_0x1c35('\x30\x78\x34\x34\x33', '\x33\x69\x57\x66') + '\x6e\x70'](_0x4e1677, _0x1c63fe) + '\x7c' + _0x1c63fe,然后把多余函数不要了改成手动加起来 一个中文竖线和时间戳

在这里插入图片描述
在这里插入图片描述

把扣下来的代码在改写一下,第一个函数其实是接受两个参数,第一个作为函数第二个作为参数,参数是时间戳改写完代码 m = _0x4e1677(time) + '|' + time 然后开始扣这个_0x4e1677函数
在这里插入图片描述

真正的开始

最好先把代码全部都复制下来保存到本地文件然后格式化,方便好找代码,而且网站卡了刷新之后变量名会变,后面扣起来更加麻烦。也可以替换文件使得代码永远不变而且还可以自己在里面打debugger后面再说。

保存本地或者浏览器搜索然后扣代码,扣一个就运行,少什么补什么 时间戳time = Date['parse'](new Date())

在这里插入图片描述

然后这里说 $dbsm_0x1c35 未定义,然后继续搜索,这里这个函数会用到上面那个大数组,所以一起扣下来,中间这个匿名函数也要一起拿下来

在这里插入图片描述

然后这里运行报下面这个错,好像是什么格式化检测的(更改源代码中正则检测部分应该也行暂时没试),最快最好就是我们也压缩代码,用工具或者百度在线压缩都可以压缩我们扣下来的就好,然后继续扣,这里_0x45cda2被赋值为_0x389b71,而_0x389b71在上面被定义并赋予了很多函数,反正都用得上,就先全部扣了,报错后面再解决,不然这么多等下一个一个扣麻烦,不建议。从他被定义开始一直扣 var _0x389b71 = {};

在这里插入图片描述

后面就是报那个函数没定义就扣哪一个。或者说其实你扣着扣着发现其实下面中间这些函数都用得上,也可以全部拿走,注意中间有一行不是函数不知道用不用得上先不要扣,没用上的pycharm也会提示可以删掉

在这里插入图片描述
在这里插入图片描述

然后运行发现卡了,不动了啥的,压缩一下,然后会报一个函数未定义,继续回去扣,扣完运行报navigator未定义,直接在前面定义为空{} 就行,看后面报什么错补什么,这一题其实都没有用上

在这里插入图片描述

history未定义

然后最关键的来了,这里我参考了别人的博客,找了好久。报这个history,然后补环境也没有用,全局搜索也没有这个history关键字,还报在第六行之前都没事。就很迷,看下面是一个eval虚拟机在捣鬼

在这里插入图片描述

全局搜这个eval,只有一个匹配,不用怀疑,就是他在捣的鬼,因为这里压缩过了,不过看这一行开头就行,他是属于这个_0x1bf552函数,可以吧这个函数重新格式一下,然后直接给这一行给他删掉,重新扣获取


在这里插入图片描述

最后大功告成,也可以把时间戳写死然后和请求那里对比一下是不是一样的。
在这里插入图片描述

写在最后

其实代码里面还有一些坑,只不过这样子扣这个代码没有走进去。比如里面有try语句里面有global,浏览器没有global那么就肯定会被catch给捕获之类的。有兴趣的可以自己去找一写环境检测的题来做。

还有一点就是前面提到的对这个文件进行替换,避免他变量名总是改变的问题;这里我用的是fiddler,这里先抓包,然后看到响应体里面都是js代码,两个就是片段,上面是我hook的下面是服务器真正返回的。可以把这个文件保存本地,通过fiddler保存或者手动复制粘贴都行,是一个html文件。这里我hook用的编程猫,然后替换是旁边那个选项。
在这里插入图片描述

然后设置替换的url和选择本地文件,保存,就完成了,不过这里面都是压缩的,要打断点可以自己通过搜索然后在后面打debugger最好还是不要格式化文件。

在这里插入图片描述
最后有什么问题或者网站更新的,请在评论区留言哦。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值