瑞树6代流程分析

声明

本文章中所有内容仅供学习交流,相关链接做了脱敏处理,若有侵权,请联系我立即删除!


aHR0cHM6Ly93d3cuZmFuZ2RpLmNvbS5jbi9vbGRfaG91c2Uvb2xkX2hvdXNlX2xpc3RfZGV0YWlsMi5odG1sP2lkPWI5YjhmMjVkNjM2ODRiYjM

流程分析

第一次访问

第一次访问返回412,然后获取到这个content值,ts代码以及外链js

第二次访问

接着就是补环境拿到加密cookie值。取请求同一个接口

其中

  • UA1L1zGonajvO是第一次请求412时候返回cookie值,然后补环境也需要用到。
  • UA1L1zGonajvP就是补环境得到值

这里返回了新contentts代码以及外链js

通过这里再去执行加密逻辑得到cookie再去请求数据接口,就可以拿到数据

第三次访问

当然这里我们知道它包含了后缀值XJlCTRRM

通过重写XMLHttpRequest.prototype.open方法就可以看到后缀值

javascript 复制代码
let requ_param 
XMLHttpRequest  = function(){};
XMLHttpRequest.prototype.open = function(method, url, args){
    console.log("XMLHttpRequest open method:", method, url);
    requ_param = url;
    return {}
};

function get_curr(_url){
    const urls = new URL(_url);
    const pathname = urls.pathname;
    const search = urls.search;
    const path = pathname + search;
    const g = new XMLHttpRequest();
    g.open('POST', path, true);
    return "result:" + requ_param;
}
// const final_param = get_curr('https://www.fangdi.com.cn/oldhouse/selectOldHouseInfo3.action');
const final_param = get_curr('https://www.fangdi.com.cn/oldhouse/searchContactInfo.action');

这样就可以得到后缀值。

这里请求时候

  • UA1L1zGonajvO依旧是第一次返回
  • UA1L1zGonajvP第二次请求返回新数据通过加密得到

必坑:

  • 瑞数6对后缀的校验规则:"要么不携带,只要携带了就必须有效",无效后缀直接返回400;
  • 若"无后缀200、带后缀400",大概率是环境问题;
  • 若"无后缀和带后缀都400",说明瑞数开启强校验,需补更复杂的环境(如canvas指纹、webgl信息等),后续案例补充。

通过上面方法拿到后缀之后请求数据接口返回400,不携带后缀返回200,那么就是补环境有问题。看看location里面包含链接值,改为对应数据可用。

有的时候没有强校验后缀就可以试着不携带后缀请求,依旧能拿到数据

相关推荐
小郑加油14 小时前
python学习Day10天:列表进阶 + 内置函数 + 代码简化
开发语言·python·学习
时空系14 小时前
第13篇:综合实战——制作我的小游戏 python中文编程
开发语言·python·ai编程
Li emily14 小时前
港股api接入指南:实时行情与历史数据获取
python·api·fastapi
AI技术增长15 小时前
Pytorch图像去噪实战(十三):DDIM加速扩散模型采样,让去噪从1000步降到50步
人工智能·pytorch·python
刀法如飞15 小时前
Python列表去重:从新手三连到高阶特技,20种解法全收录
python·算法·编程语言
小糖学代码15 小时前
LLM系列:1.python入门:16.正则表达式与文本处理 (re)
人工智能·pytorch·python·深度学习·神经网络·正则表达式
清水白石00815 小时前
从“类型体操”到工程设计:用 Python 解释协变、逆变与不变
网络·windows·python
薛定猫AI15 小时前
【深度解析】Gemma Chat 本地 AI 编程 Agent:Electron + MLX + 开源模型的离线 Vibe Coding 实战
javascript·人工智能·electron
hrhcode16 小时前
【LangGraph】四.持久化:保存和恢复执行状态
python·ai·langchain·agent·langgraph
全栈前端老曹16 小时前
【前端地图】多地图平台适配方案——高德、百度、腾讯、Google Maps SDK 差异对比、封装统一地图接口
前端·javascript·百度·dubbo·wgs84·gcj-02·bd09