当前位置: 首页 > news >正文

【js逆向_AES】全国二手房指数数据爬取

目标:请求参数signcode,请求结果data。

网址:aHR0cDovL3d3dy5jY2hpbmRleC5jb20vSG9tZS9pbmRleA== 

查看载荷

查看响应数据

点击xhr,发现所有请求参数都是一个signCode,还是加密后的结果,对应结果中数据data也是一样,不同的数据加密后的字符串长度不同。(可以大胆的猜测一下对称加密,常见的对称加密aes,des等,sm4也是一个对称加密算法,说不定就是其中一个呢)

断点调试

要先过下面这个

 

编写js函数

 控制台输出:

数据对应一致 

 解密响应数据的函数

主函数关键代码:

运行结果:

补充:

hook XMLHttpRequest,(function hookXMLHttpRequest() {// 备份一下原始open和send方法const realOpen = XMLHttpRequest.prototype.open;const realSend = XMLHttpRequest.prototype.send;// 重写open方法XMLHttpRequest.prototype.open = function (method, url) {console.log('请求地址是:', url);console.log('请求方法类型:', method);// 检查 URL 中是否包含 keyif (url.includes('radio.key')) {// debugger; // 触发断点console.log('URL 包含 key,断点触发');}// 调用原始的open方法realOpen.apply(this, arguments);};// 重写send方法XMLHttpRequest.prototype.send = function (data) {// 发送请求体参数console.log('请求体:', data);// 调用原始的send方法,并传入所有参数realSend.apply(this, arguments);// 监听请求状态变化this.addEventListener('readystatechange', () => {if (this.readyState === 4) {// 请求完成后执行的代码console.log('获取返回的全部数据:', this.responseText);}});};
})();

 python版

import requests
import json
import time
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad, unpad
import binascii# 加密函数
def g(e):e = str(e)key = b'comkmv7wfcbu1kjk'cipher = AES.new(key, AES.MODE_ECB)ciphertext = cipher.encrypt(pad(e.encode('utf-8'), AES.block_size))return binascii.hexlify(ciphertext).decode('utf-8')# 解密函数
def y(e):key = b'comkmv7wfcbu1kjk'ciphertext = binascii.unhexlify(e)cipher = AES.new(key, AES.MODE_ECB)decrypted = unpad(cipher.decrypt(ciphertext), AES.block_size)return decrypted.decode('utf-8')

相关文章:

  • SolidWorks软件的安装与卸载
  • 研读论文《Attention Is All You Need》(13)
  • 深入理解 C++11 中的 std::move —— 移动语义详解(小白友好版)
  • 3C All-in-One Toolbox:安卓手机的全能维护专家
  • Vehicle HAL(2)--Vehicle HAL 的启动
  • DDR5 ECC详细原理介绍与基于协议讲解
  • IEE754标准,double和int转换,在线计算器
  • pyqt5笔记20250601
  • 嵌入式学习笔记 - FreeRTOS v9.0.0 与v10.0.1不同版本占用资源对比
  • LeetCode 40.组合总和II:含重复元素的组合问题去重策略详解
  • 动态库导出符号与extern “C“
  • Python训练营打卡 Day42
  • CppCon 2014 学习:ASYNC SEQUENCES AND ALGORITHMS
  • golang -- slice 底层逻辑
  • javaEE->多线程:定时器
  • 【Java学习笔记】枚举
  • 初学大模型部署以及案例应用(windows+wsl+dify+mysql+Ollama+Xinference)
  • python打卡day42
  • Mask_RCNN 环境配置及训练
  • leetcode hot100 二叉树(一)
  • 网站如何做搜索引擎优化/微信小程序开发文档
  • 北京的网站建设公司有哪些/优化关键词排名seo软件
  • 沧州网站建设培训学校/长沙靠谱关键词优化服务
  • 下载 做网站的原型文件/登录注册入口
  • ftp备份网站/新媒体seo指的是什么
  • 东莞中英文网站建设/seo相关ppt