From

入行采集这么久了,瑞数还过不了实在说不过去,这次就来研究一下,顺便巩固一下web逆向的知识

瑞数4代

目标网页:http://www.fangdi.com.cn/trade/trade_ranking.html

目标接口:http://www.fangdi.com.cn/service/trade/getFirstLastMonthRanking.action

网站分析

image.png

看上去有4个参数,只要分析 MmEwMDFSSBBIl1UgzbN7N80T 即可

  • MmEwMD,url参数,即时生成的,每次都不一样
  • FSSBBIl1UgzbN7N80T,cookie值,由js文件生成一次即可

FSSBBIl1UgzbN7N80T

直接用fiddler hook cookie,使用的时候有个注意点,先打开网页调试,再访问网页

image.png

追栈追到 VM虚拟机代码 的加载入口,可以看到这里是 IIFE 代码(即闭包与立即执行函数表达式),这里有个关键函数:

ret = _$cx.call(_$xB, _$l0),可以说是四代的标志了

image.png

image.png

来定位一下vm代码的来源,其实就是第一次访问网页返回的内容,vm代码的生成逻辑,大概就是:

自执行代码将 dfe1675.js 中的乱码还原成 vm代码,而 meta content里面的内容在vm里面会调用到

这里勾选了 Script First Statement,表示断住每段js的第一行

image.png

这里有三个参数是变化的,还有一个是外链,为了方便调试,保存两份文件到本地,然后用fiddler做映射

html 文件记得勾选 Match only once

image.png

把JS文件和自执行代码,扣下来保存成另一份js文件,直接运行,轻度补环境和输出键值

image.png

fd做好文件替换,对比浏览器的结果(这里和浏览器的不一致,就先不展示了)