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

news/2024/7/19 9:15:02 标签: 爬虫, python

一、数据接口分析

主页地址:某某观察

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) {
    debugger
    console.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.niftyadmin.cn/n/4945730.html

相关文章

【Python】一键查询依赖生成文件 requirements.txt

前言 我们在自己开发 Python 项目过程中(没有使用虚拟环境),最后做完项目再整理 requirements.txt 都是很麻烦的事。或者是从网上克隆的别人的项目,但是却没有 requirements.txt ,需要自己手动单独安装依赖&#xff0…

redis-集群(基础了解)

前言 为什么要做集群?解决什么问题? 1、避免单点故障,实现高可用;就需要数据沉余,通过沉余副本也是slave。 三种集群区别? 1、主从复制 复制策略 --> 全量复制 第一次连接到master,mast…

C#小轮子:扩展方法

文章目录 相关资源前言扩展方法示例声明扩展方法使用扩展方法 注意:相关资源 相关资源 扩展方法(C# 编程指南) 前言 我们知道传统的方法增加是C#类继承。A->B->C。一层一层继承下去,然后重写父类的方法。这个适合传统开发…

leetcode292. Nim 游戏(博弈论 - java)

Nim 游戏 Nim 游戏题目描述博弈论 上期经典算法 Nim 游戏 难度 - 简单 原题链接 - Nim游戏 题目描述 你和你的朋友,两个人一起玩 Nim 游戏: 桌子上有一堆石头。 你们轮流进行自己的回合, 你作为先手 。 每一回合,轮到的人拿掉 1 -…

这篇深入浅出贴助你早日实现Stable Diffusion自由 | 京东云技术团队

我也不想标题党,可乐高积木版的总部大楼就是好萌啊! 我是憨憨,一个不会画画的设计师。过去半年里,AI绘画曾经多次引爆公众讨论,网络上那些精致的二次元同人插画、堪比真人的AI穿搭博主、打破次元壁的赛博Coser……背后…

碎片笔记|图数据与图神经网络基础介绍

前言:前段时间了解了一下图神经网络,本篇博客记录一下相关知识,以备不时之需。 强烈推荐这篇博客(作者来自 Google Research),个人认为是图神经网络基础入门的不二选择! 目录 一、图数据1.1 定义…

UBuntu18.04 Qt之双HDMI屏切换

UBuntu18.04 Qt之双HDMI接2个4K屏并分别设置分辨率、主屏、副屏 一、设置HDMI-2为主屏 在main函数里面添加&#xff1a; #include "mainwindow.h" #include <QApplication>int main(int argc, char *argv[]) {QApplication a(argc, argv);{long nTotal 0;c…

力扣75——图广度优先搜索

总结leetcode75中的图广度优先搜索算法题解题思路。 上一篇&#xff1a;力扣75——图深度优先搜索 力扣75——图广度优先搜索 1 迷宫中离入口最近的出口2 腐烂的橘子1-2 解题总结 1 迷宫中离入口最近的出口 题目&#xff1a; 给你一个 m x n 的迷宫矩阵 maze &#xff08;下标…