瑞树6代流程分析

声明

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


aHR0cHM6Ly93d3cuZmFuZ2RpLmNvbS5jbi9vbGRfaG91c2Uvb2xkX2hvdXNlX2xpc3RfZGV0YWlsMi5odG1sP2lkPWI5YjhmMjVkNjM2ODRiYjM

流程分析

第一次访问

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

第二次访问

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

其中

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

这里返回了新content,ts代码以及外链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里面包含链接值,改为对应数据可用。

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

相关推荐
第九序言T3 小时前
Python 数据处理进阶(十八)批量处理同结构文件:一个文件夹一次跑完
开发语言·python·自动化·pandas·数据处理
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
qq_426003963 小时前
UI自动化高频次登录login限流解决方案
python·ui·自动化
Sakura_j_h_3 小时前
EasyEDA PCB 快速设计Skills
c++·python·github
quantdash_cc4 小时前
如何验证历史行情的交易日期是否完整覆盖研究区间?
python·数据分析·pandas·量化交易·股票数据·quantdash
I Am a robert girl4 小时前
当智能体学会“串通”:从长程交互中读懂涌现式合谋
python·多智能体系统·多智能体协作·llm agent·涌现式合谋·对齐问题·激励机制设计
云和数据.ChenGuang5 小时前
光哥说Python RAG 系统需要哪些评估指标:从检索到生成的全链路评测指南
网络·人工智能·python·算法·langchain
程序员大阳5 小时前
副队长JavaScript教程(50)-DOM:网页开发的起点
javascript·dom·es·节点·概念·document·关系
专注仿真5 小时前
线性回归和逻辑回归算法详解
开发语言·人工智能·python·大模型训练·控制算法
wflynn6 小时前
GitHub 今日推荐|Edge0:让大号 MoE 模型在一台 Mac 上流式跑起来
python·开源·github