一次新东方网站的简单逆向

打开网站 https://liuxue.xdf.cn/,在请求面板中找到一个带签名的数据接口 https://dsapi.xdf.cn/xas/v1/list?appId=5092&t=1743995182000

全局搜索sign,只有三个站内js有涉及,全部点开。

明显第一个带md5加密的sign是我的目标。

找到对应的代码:

headers:{
  "sign":MD5('appId=5092&t='+t+''+JSON.stringify(data)+'333F398E-4CC5-1064-E293-75E1C13C0F9A')
},

加密涉及的参数有t和data。在接口url中也带了一个t=1743995182000。那么可以推测出这个t就是十位时间戳*1000。

往上翻找到了data是调用function getAdBanner(data,obj,isSwiper){}这个方法传过来的。

打断点,直接能看到data的信息,都是固定的值,直接拿来用即可。

在n8n工作流中新增一个code节点用于生成t和sign。

新增一个http request 节点执行请求。

请求方式:post

请求url:url是https://dsapi.xdf.cn/xas/v1/list?appId=5092&t={{ $json.t }}

Header参数:

content-type: application/json; charset=UTF-8

sign: {{ $json.sign }}

Body参数:{“client”: “qt_pc”, “pageType”: “home”, “positionCode”: “banner”, “cityCode”: “0”}

点击test workflow执行工作流,成功返回数据:

Leave a Comment