爬虫逆向实战(十六)--某建筑市场平台

news/2024/7/19 11:22:03 标签: 爬虫

一、数据接口分析

主页地址:某建筑市场平台

1、抓包

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

2、判断是否有加密参数

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

二、加密位置定位

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代码,再次点击翻页,发现有明文参数传入
在这里插入图片描述
往下执行,可以发现是在响应拦截器中使用h方法对数据进行的解密
在这里插入图片描述

三、扣js代码

从定位到的解密位置进入h方法,可以发现该网站使用的是标准AES解密,并且keyiv均在此方法上方 在这里插入图片描述
所以我们可以直接使用标准AES模块对密文进行解密
源代码:

var CryptoJS = require('crypto-js')

function h(t) {
    f = CryptoJS.enc.Utf8.parse("jo8j9wGw%6HbxfFn")
    m = CryptoJS.enc.Utf8.parse("0123456789ABCDEF");
    var e = CryptoJS.enc.Hex.parse(t)
        , n = CryptoJS.enc.Base64.stringify(e)
        , a = CryptoJS.AES.decrypt(n, f, {
        iv: m,
        mode: CryptoJS.mode.CBC,
        padding: CryptoJS.pad.Pkcs7
    })
        , r = a.toString(CryptoJS.enc.Utf8);
    return r.toString()
}

http://www.niftyadmin.cn/n/4944777.html

相关文章

神经网络基础-神经网络补充概念-33-偏差与方差

概念 偏差(Bias): 偏差是模型预测值与实际值之间的差距,它反映了模型对训练数据的拟合能力。高偏差意味着模型无法很好地拟合训练数据,通常会导致欠拟合。欠拟合是指模型过于简单,不能捕捉数据中的复杂模式…

单片机之从C语言基础到专家编程 - 4 C语言基础 - 4.8 运算符

1.算术运算符 运算符名称备注加法运算符双目运算,a b-减法运算符双目运算,a - b*乘法运算符双目运算,a * b/除法运算符双目运算,a / b%求余运算符双目运算, a % b自增运算符单目运算, a–自减运算符单目运算, a– 2.关系运算符…

设置Linux 静态IP

LInux虚拟机默认的IP地址是动态获取的 作为服务器,我们一般还需要把IP地址设置为静态的 设置静态IP vim /etc/sysconfig/network-scripts/ifcfg-ens33 TYPEEthernet PROXY_METHODnone BROWSER_ONLYno # BOOTPROTOdhcp 动态获取 BOOTPROTOstatic IPADDR"192.16…

css实现div内文字自动滚动

网上找了好久&#xff0c;终于找到了个能实现的&#xff0c;把它整理一下。 需求&#xff1a;表格内字体过长实现自动滚动 实现思路如下&#xff1a; html&#xff1a; <div class"item-column" style"background: rgb(12, 87, 154); width: 18%; height: 6…

图片转换成pdf格式?这几种转换格式方法了解一下

图片转换成pdf格式&#xff1f;将图片转换成PDF格式的好处有很多。首先&#xff0c;PDF格式具有通用性&#xff0c;可以在几乎任何设备上查看。其次&#xff0c;PDF格式可以更好地保护文件&#xff0c;防止被篡改或者复制。此外&#xff0c;PDF格式还可以更好地压缩文件大小&am…

python基础---Python解释器和基本数据类型

1、Python解释器 Python解释器就是将我们使用的Python语言编译的程序转化为机器可以识别的语言,一般安装位置在/usr/local/bin,当然这个位置可以根据自己喜欢改变 (1)启动解释器 使用python去启动解释器如果使用python启动失败,说明安装的是其他版本的python,在python后…

“华为杯”研究生数学建模竞赛2018年-【华为杯】F题:中转航班调度:从 MILP 模型到启发式算法

目录 摘 要 1 问题描述 2 模型假设 3 符号定义及数据预处理 3.1 符号定义

Kubernetes网络组件详解

目录 1、Kubernetes网络组件 1.1、Flannel网络组件 1.2、Calico 网络插件 2、环境准备 2.1、主机初始化配置 2.2、部署docker环境 3、部署kubernetes集群 3.1、组件介绍 3.2、配置阿里云yum源 3.3、安装kubelet kubeadm kubectl 3.4、配置init-config.yaml 3.6、安装…