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中运行可以成功运行