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

爬虫逆向实战(二)--某某观察城市排行榜

一、数据接口分析

主页地址:某某观察

1、抓包

通过抓包可以发现数据接口是multi
抓包

2、判断是否有加密参数

  1. 请求参数是否加密?
  2. 请求头是否加密?
  3. cookie是否加密?
  4. 响应数据是否加密?
    通过查看“响应”板块可以发现响应数据是加密的
    在这里插入图片描述

二、解密位置定位

1、看启动器

查看启动器发现里面包含异步,所以无法正确找到解密位置
在这里插入图片描述

2、hook

因为响应加密数据一般都是json数据加密,所以解密后会使用JSON.parse进行解密,所以我们可以对JSON.parse进行hook。
hook代码段:

var my_parse = JSON.parse;
JSON.parse = function (params) {debuggerconsole.log("json_parse params:",params);return my_parse(params);
};

运行hook代码,再次点击翻页,发现有明文参数传入
在这里插入图片描述
往下执行,可以发现是在响应拦截器中对数据进行的解密
在这里插入图片描述

三、扣js代码

在响应拦截器中可以发现,该网站解密是用的标准AES模块进行的解密
在这里插入图片描述
所以我们只需要跟代码找到密钥就可以使用标准AES模块进行解密了
源代码:

var CryptoJS = require('crypto-js')function tripleAesDecrypt(srcs) {var aesKey = 'QV1f3nHn2qm7i3xrj3Y9K9imDdGTjTu9'var key = CryptoJS.enc.Utf8.parse(aesKey),decrypted = CryptoJS.AES.decrypt(srcs, key, {mode: CryptoJS.mode.ECB,padding: CryptoJS.pad.Pkcs7});return decrypted.toString(CryptoJS.enc.Utf8);
}
http://www.lryc.cn/news/127759.html

相关文章:

  • Grafana Prometheus 通过JMX监控kafka 【2023最新方式】
  • 发布游戏,进行打包。(Unity)
  • 我的C++待办事项
  • 浙大数据结构第七周之Saving James Bond - Hard Version
  • 线程同步条件变量
  • jeecgboot-vue3 查询区 label 文字居左实现
  • CentOS系统环境搭建(五)——Centos7安装maven
  • .eslintrc配置
  • LangChain手记 Models,Prompts and Parsers
  • Cannot resolve plugin ... maven插件和依赖无法下载解决方法
  • 【skynet】skynet 服务间通信
  • Flink的Standalone部署实战
  • open cv学习 (一)像素的操作
  • 基于C#的消息处理的应用程序 - 开源研究系列文章
  • C语言刷题指南(一)
  • VMware虚拟机Ubuntu无法连接网络的解决方法
  • 基于CentOS 7 部署社区版Haproxy
  • Git和GitHub
  • spring入门基本介绍及注入方式---详细介绍
  • 神经网络基础-神经网络补充概念-24-随机初始化
  • K8S之存储卷
  • 8月17日,每日信息差
  • VBA技术资料MF44:VBA_把数据从剪贴板粘贴到Excel
  • nestjs:nginx反向代理服务器后如何获取请求的ip地址
  • STM32 F103C8T6学习笔记7:双机无线串口通信
  • 开源数据库Mysql_DBA运维实战 (DDL语句)
  • 分布式 - 消息队列Kafka:Kafka生产者发送消息的分区策略
  • 从源代码编译构建Hive3.1.3
  • 探索性测试及基本用例
  • MYSQL 作业三