瑞树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里面包含链接值,改为对应数据可用。

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

相关推荐
用户8356290780511 小时前
使用 Python 对 Excel 工作表进行排序
后端·python
for_ever_love__1 小时前
MySQL 全文索引实战:FULLTEXT、ngram 中文分词与 MATCH AGAINST 到底该怎么用
java·python·mysql·全文检索·分词·索引·ngram
用户8356290780511 小时前
使用 Python 合并 PowerPoint 演示文稿
后端·python
weixin_461769402 小时前
VS Code 中创建 Jupyter 文件(.ipynb)
ide·python·jupyter
2601_966949652 小时前
多市场量化策略的数据接口应该如何设计:从数据层架构到策略接入
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
小宋10212 小时前
A2UI从零实战:Agent安全生成交互界面与事件回传
javascript·人工智能·安全·交互
全栈弄潮儿2 小时前
Python实战第1期:Python环境搭建与第一个程序
python
心易行者2 小时前
Agent应用+API端点商业化进阶实战:从单体智能体到可付费调用的API全流程
运维·服务器·人工智能·python·apache
大包子2 小时前
structuredClone vs lodash.cloneDeep:核心差异与选型指南
javascript·vue.js
weixin199701080162 小时前
《1688图片空间API踩坑:img.upload 与 album.* 的防盗链与CDN缓存问题》(附Python源码)
开发语言·python·缓存