首页
搜索 搜索
当前位置:国内 > 正文

JS逆向实战14——猿人学第二题动态cookie_世界关注

2023-05-26 12:25:52 博客园
声明

本文章中所有内容仅供学习交流,抓包内容、敏感网址、数据接口均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请联系我立即删除!


(资料图片)

目标网站

https://match.yuanrenxue.cn/match/2

网站分析

首先已经告诉了我们这个网站是动态cookie,所以我们首先打开devtools看看哪个cookie,然后我们用代码运行下然后发现cookie的有效期很短,我们搜索有没有set_cookie 发现并没有然后我们用fiddler 抓包看看我们搜索这个cookie的值有时候可能hook不到值,没关系 点击下一页去hook 不要刷新去hook

发现是从第二请求开始的,所以cookie 大概率是第一个请求哪里生成的 cookie

cookie断点分析

在次之前,我们打开浏览器中去找cookie的生成点。打开脚本 按步追栈追到这个cookie生成的文件中。也就是第一个请求发送的地方然后我们放开断点。走到m这个断点的地方。然后向下追栈然后就找到了m的生成地址了把他们都替换掉

document["cookie"] = _0x1451c6["FZXLU"](_0x1451c6["FZXLU"](_0x1451c6["TWByt"](_0x1451c6["eKhua"](_0x1451c6["eKhua"](_0x1451c6["zzVOs"]("\x6d", _0x1451c6["PUMJe"](_0x52509a)), "\x3d"), _0x1451c6["kbttD"](_0x57de99, _0x4b00b1)), "\x7c"), _0x4b00b1),    _0x1451c6["GBiTC"]);

再分解由此可知

_0x1451c6["kbttD"](_0x57de99, _0x4b00b1) + "|" + _0x4b00b1"6c0a673aa5ac9a0d6d06d93c80e399dc|1685066745000"
_0x1451c6["kbttD"](_0x57de99, _0x4b00b1) : cookie_0x4b00b1: 时间戳扣代码

====>可改写成

_0x1f5c0f["uHywV"] = function(_0x167a6d, _0x403944) {        return _0x167a6d < _0x403944;    }    ;

后面就是逐步扣代码注意

扣的时候一定要有耐心注意有坑,正则校验 直接搜索 new Regex这是文中的两处正则格式化校验 修改成如下
1.. "removeCookie": function() {return "dev";},2. this["husxWe"] = function() {return "newState";}
node 环境定义
var window = global;

浏览器环境检测 需要定义一个navigator可见这个是浏览器指纹有两种解决方案

直接把这个地方替换成 ""因为浏览器执行出来的也是空重新伪装navigator 补环境

history 未被定义 console.log 被重写等到最后打印的收会报错这里也有两种解决方案

在最开始的时候定义console.log 把console.log 赋值给另一个值

result = console.log;
用console.warn,console.debug (总有一个没被改写)完成

后面就是缺啥补啥 其实非常麻烦。然后补完之后运行我们的代码

成功生成m的值,然后我们丢到python中运行可以成功运行