爬虫逆向实战(八)--猿人学第十五题

一、数据接口分析

主页地址:猿人学第十五题

1、抓包

通过抓包可以发现数据接口是api/match/15
在这里插入图片描述

2、判断是否有加密参数

  1. 请求参数是否加密?
    查看“载荷”模块可以发现有一个m加密参数
    在这里插入图片描述
  2. 请求头是否加密?
  3. 响应是否加密?
  4. cookie是否加密?

二、加密位置定位

1、看启动器

查看启动器发现调用堆栈中有一个request,点进去查看
在这里插入图片描述
点进去后可以发现,此处是发送ajax请求的位置,参数m是在上方生成的
在这里插入图片描述

三、扣js代码

在扣js代码时,可以发现js代码很少,只有几行。是因为这里导入了一个wasm文件
在这里插入图片描述
所以此处就需要先将这个wasm文件下载到本体,然后使用python中的pywasm模块先将wasm文件加载,然后再使用pywasm模块执行js代码。安装pywasm模块的命令:pip install pywasm
js源代码:

function get_m() {t1 = parseInt(Date.parse(new Date()) / 1000 / 2);t2 = parseInt(Date.parse(new Date()) / 1000 / 2 - Math.floor(Math.random() * (50) + 1));return instance.exports.encode.q(t1, t2).toString() + '|' + t1 + '|' + t2;
}

python源代码:

"""
Email:912917367@qq.com
Date: 2023/8/1 17:17
"""
import timeimport pywasm
import requestsheaders = {"authority": "match.yuanrenxue.cn","referer": "https://match.yuanrenxue.cn/match/15","user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36","x-requested-with": "XMLHttpRequest"
}
cookies = {"sessionid": "b8bx05hen610m38au39vo4fwk4jk49n9",
}
url = "https://match.yuanrenxue.cn/api/match/15"
vm = pywasm.load("./main.wasm")num = 0
for page in range(1, 6):t1 = int(time.time() / 2)t2 = int(time.time() / 2) - 1result = vm.exec("encode", [t1, t2])m = f'{result}|{t1}|{t2}'if page >= 4:headers['user-agent'] = 'yuanrenxue.project'params = {"m": m,"page": str(page)}response = requests.get(url, headers=headers, cookies=cookies, params=params)print(response.text)print(response)data = response.json()['data']for item in data:num += int(item['value'])print(num)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/73553.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

汽车领域专业术语

1. DMS/OMS/RMS/IMS DMS:即Driver Monitoring System,监测对象为Driver(驾驶员)。DMS三大核心: OMS:即Occupancy Monitoring System,监测对象为乘客。 RMS:后排盲区检测系统 IMS&…

【【Verilog典型电路设计之FIFO设计】】

典型电路设计之FIFO设计 FIFO (First In First Out)是一种先进先出的数据缓存器,通常用于接口电路的数据缓存。与普通存储器的区别是没有外部读写地址线,可以使用两个时钟分别进行写和读操作。FIFO只能顺序写入数据和顺序读出数据&#xff0…

N4010A|安捷伦Agilent N4010A蓝牙测试仪

描述 N4010A是一款多功能多格式无线连接测试解决方案,您可以针对R&D、集成和验证或制造中的特定蓝牙、无线局域网(WLAN) 802.11a、b和g以及ZigBee应用进行配置。 特征 测试多种技术的灵活性通过快速、准确的测量提高生产量从开发到生产的可重复测量结果适应新…

Excelize Go语言操作 Office Excel文档基础库

Excelize 是 Go 语言编写的用于操作 Office Excel 文档基础库,基于 ECMA-376,ISO/IEC 29500 国际标准。可以使用它来读取、写入由 Microsoft Excel™ 2007 及以上版本创建的电子表格文档。支持 XLAM / XLSM / XLSX / XLTM / XLTX 等多种文档格式&#xf…

windows权限维持—SSPHOOKDSRMSIDhistorySkeletonKey

windows权限维持—SSP&HOOK&DSRM&SIDhistory&SkeletonKey 1. 权限维持介绍1.1. 其他 2. 基于验证DLL加载—SPP2.1. 操作演示—临时生效2.1.1. 执行命令2.1.2. 切换用户 2.2. 操作演示—永久生效2.2.1. 上传文件2.2.2. 执行命令2.2.3. 重启生效 2.3. 总结 3. 基…

论文阅读——Imperceptible Adversarial Attack via Invertible Neural Networks

Imperceptible Adversarial Attack via Invertible Neural Networks 作者:Zihan Chen, Ziyue Wang, Junjie Huang*, Wentao Zhao, Xiao Liu, Dejian Guan 解决的问题:虽然视觉不可感知性是对抗性示例的理想特性,但传统的对抗性攻击仍然会产…

调整数组使奇数全部都位于偶数前面

题目内容: 输入一个整数数组,实现一个函数, 来调整该数组中数字的顺序使得数组中所有的奇数位于数组的前半部分, 所有偶数位于数组的后半部分。 题目思路: 将奇数部分放在前半部分,偶数部分放在后半部分&am…

excel中定位条件,excel中有哪些数据类型、excel常见错误值、查找与替换

一、如何定位条件 操作步骤:开始 - 查找和选择 - 定位条件(ctrl G 或 F5) 注:如果F5不可用,可能是这个快捷键被占用了 案例:使用定位条件选择取余中空单元格,填入100,按组合键ct…

Java算法_ 验证二叉搜索树(LeetCode_Hot100)

题目描述: 给你一个二叉树的根节点 ,判断其是否是一个有效的二叉搜索树。root 有效 二叉搜索树定义如下: 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 获得…

【Maven教程】(一)入门介绍篇:Maven基础概念与其他构建工具:理解构建过程与Maven的多重作用,以及与敏捷开发的关系 ~

Maven入门介绍篇 1️⃣ 基础概念1.1 构建1.2 maven对构建的支持1.3 Maven的其他作用 2️⃣ 其他构建工具2.1 IDE2.2 Make2.3 Ant2.4 Jenkins 3️⃣ Maven与敏捷开发🌾 总结 1️⃣ 基础概念 "Maven"可以翻译为 “知识的积累者” 或 “专家”。这个词源于波…

⛳ Docker - Centos 安装配置

目录 ⛳ Docker - Centos 安装配置🏭 Docker 安装:📢 一、安装依赖包💬 二、添加 Docker 下载源地址🐾 三、更新yum缓存👣 四、安装Docker💻 五、启动Docker🎁 六、查看Docker状态和…

MAC环境,在IDEA执行报错java: -source 1.5 中不支持 diamond 运算符

Error:(41, 51) java: -source 1.5 中不支持 diamond 运算符 (请使用 -source 7 或更高版本以启用 diamond 运算符) 进入设置 修改java版本 pom文件中加入 <plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin&l…