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

一、数据接口分析

主页地址:某某观察

1、抓包

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

2、判断是否有加密参数

  1. 请求参数是否加密?
  2. 请求头是否加密?
  3. cookie是否加密?
  4. 响应数据是否加密?
    通过查看"响应"板块可以发现响应数据是加密的

二、解密位置定位

1、看启动器

查看启动器发现里面包含异步,所以无法正确找到解密位置

2、hook

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

hook代码段:

javascript 复制代码
var my_parse = JSON.parse;
JSON.parse = function (params) {
    debugger
    console.log("json_parse params:",params);
    return my_parse(params);
};

运行hook代码,再次点击翻页,发现有明文参数传入

往下执行,可以发现是在响应拦截器中对数据进行的解密

三、扣js代码

在响应拦截器中可以发现,该网站解密是用的标准AES模块进行的解密

所以我们只需要跟代码找到密钥就可以使用标准AES模块进行解密了

源代码:

javascript 复制代码
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);
}
相关推荐
sword devil9009 分钟前
PYQT实战:智能家居中控
python·智能家居·pyqt
NetX行者10 分钟前
FastMCP:用于构建MCP服务器的开源Python框架
服务器·python·开源
超龄超能程序猿14 分钟前
(3)机器学习小白入门 YOLOv: 解锁图片分类新技能
python·numpy·pandas·scipy
waynaqua41 分钟前
FastAPI开发AI应用一:实现连续多轮对话
python·openai
纨妙1 小时前
python打卡day59
开发语言·python
waynaqua1 小时前
FastAPI开发AI应用二:多厂商模型使用指南
python·openai
秋难降1 小时前
Python 知识 “八股”:给有 C 和 Java 基础的你😁😁😁
java·python·c
用户7785371836961 小时前
一力破万法:从0实现一个http代理池
后端·爬虫
FF-Studio1 小时前
大语言模型(LLM)课程学习(Curriculum Learning)、数据课程(data curriculum)指南:从原理到实践
人工智能·python·深度学习·神经网络·机器学习·语言模型·自然语言处理
像风一样的男人@1 小时前
python --货车装厢问题
开发语言·python