爬虫逆向实战(34)-某视综数据(MD5、AES)

一、数据接口分析

主页地址:某视综

1、抓包

通过抓包可以发现数据接口是/rank/waiting/fans

2、判断是否有加密参数

  1. 请求参数是否加密?
    通过查看"载荷"模块可以发现有一个sign参数
  2. 请求头是否加密?
  3. 响应是否加密?
    通过查看"响应"模块可以发现数据是加密的
  4. cookie是否加密?

二、加密位置定位

1、sign

(1)看启动器

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

(2)搜索关键字

通过搜索关键字sign=,可以发现有一处sign的生成位置

在此处打上断点,再次获取数据,发现可以断住,并且sign的密文就是在此处生成的

2、响应

因为响应加密数据一般都是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代码

扣js代码时,可以发现sign在加密时,使用的加密方法是标准的MD5,所以我们可以使用标准模块进行加密,不扣js代码

同时,网站解密时使用的是标准的AES算法,所以我们可以使用标准的模块进行解密,不扣js

JavaScript源码:

javascript 复制代码
const CryptoJS = require('crypto-js')

function getSign(e) {
    delete e.sign;
    for (var t = [], n = Object.keys(e).sort(), r = 0; r < n.length; r++) {
        var i = n[r]
            , a = e[i];
        t.push(i),
            t.push(a)
    }
    t.push("iIndex");
    var s = t.join("_")
        , c = CryptoJS.MD5(s).toString();
    return c
}

function get_data(lastFetchTime, r) {
    var i = CryptoJS.enc.Utf8.parse(lastFetchTime + "000")
        , a = CryptoJS.enc.Utf8.parse(lastFetchTime + "000")
        , s = CryptoJS.AES.decrypt(r.toString(), i, {
        iv: a
    })
    return s.toString(CryptoJS.enc.Utf8);
}
相关推荐
小熊Coding5 小时前
Python爬取当当网二手图书项目实战!
开发语言·爬虫·python·beautifulsoup·requests·二手图书
IP搭子来一个8 小时前
爬虫采集大量返回 403、429,到底卡在哪一环?
网络·爬虫·python
小白学大数据12 小时前
Playwright 爬虫:Python 爬取 JS 渲染的 JSP 网站
开发语言·javascript·爬虫·python·数据分析
遇事不決洛必達16 小时前
【爬虫随笔】常见加密算法特征总结
javascript·爬虫·逆向·加密算法
小白学大数据16 小时前
电商关键词挖掘:Java 爬虫抓取 1688 推荐搜索词
java·开发语言·爬虫·python
小白学大数据16 小时前
浅析爬虫技术更迭:静态请求与浏览器渲染采集能力对比
爬虫·python·spring·数据分析
2601_9578885616 小时前
流量终局与信源争夺:GEO(生成式引擎优化)时代的爬虫分析与数据管道构建
人工智能·爬虫
tang7778918 小时前
Python爬虫代理IP设置大全:requests/aiohttp/selenium主流库实战
大数据·爬虫·python·爬虫代理·代理ip·代理ip设置
tang777892 天前
2026代理IP选型逻辑与成本控制:动态IP VS 静态IP、住宅IP VS 运营商IP VS 数据中心IP的深入解析
爬虫·python·代理ip·住宅ip·住宅代理·运营商ip
2601_960102042 天前
什么是蜘蛛池?百度快速录入
爬虫·搜索引擎·百度·蜘蛛池