⚠️前言⚠️
本文仅用于学术交流。
学习探讨逆向知识,欢迎私信共享学习心得。
如有侵权,联系博主删除。
请勿商用,否则后果自负。
网址
aHR0cHM6Ly9jYXMuc2JqLmNuaXBhLmdvdi5jbi9jYXMvbG9naW4=
事情起因
该网站是瑞数6代,瑞数cookie的生成主要分为两步: 1. 请求响应 412 返回 cookie goN9uW4i0iKzO 2. 通过js计算得到 goN9uW4i0iKzP
近期接口访问返回 406 响应码,导致获取不到cookie goN9uW4i0iKzO 和 412 响应内容,瑞数cookie生成失败
说明: 瑞数cookie不作为本文重点,有兴趣的小伙伴可以私信探讨。。。
1. 简单分一下接口的响应过程
1_1. 发现接口 406 请求之后才是 我们熟悉的 412 请求
1_2. 406接口,下发 cookie FECW,响应内容是一段密文
1_3. 412接口,携带cookie FECW 和 FECA,下发瑞数 cookie goN9uW4i0iKzO。 所以我们的目标就是 cookie FECA
2. 无限debugger, eval 实现 直接hook 掉即可
3. FECA 生成
3_1.hook 一下,_0x3e3a4c 就是目标值
3_2. 调试一下,就会找到其生成方法
3_3. 本文通过补环境的形式实现,为了方便调试我将代码格式化了,有两个格式检测点需要注意一下
- 两处被检测函数,不能被格式化,当然也可以选择不格式化代码,可能调试起来有点费劲
4. 补环境
4_1. node 检测点
这里我们直接将其定义成 undefined
exports = undefined;
module = undefined;
4_2. 通过 document.getElementById(‘wsyzwdbq’).innerHTML 获取了一段密文,这段密文其实就是 406 接口中的响应内容
4_3. 获取了 document.cookie 获取 406接口下发的cookie FECW
4_4. new Fingerprint()[_0x5570e0(a0_0x28f0e8._0x43b1e7)](),该方法存在于js文件 hxk_fec_7518defe.js 中,经测试可固定
- 以上是补环境需要注意的点,其他就没啥了,跟着环境检测补一补就好了。。。