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

2023-09-14 15:02:26

一、数据接口分析

主页地址:某视综

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代码:

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源码:

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);
}
更多推荐

MLAgents (0) Unity 安装及运行

1、下载ML-Agents下载地址GitHub-Unity-Technologies/ml-agents:TheUnityMachineLearningAgentsToolkit(ML-Agents)isanopen-sourceprojectthatenablesgamesandsimulationstoservea

拼多多app商品详情原数据API接口【详情页优惠券数据】APP端商品详情数据

拼多多app商品详情原数据API接口可以获取拼多多平台上某个商品的详细信息,包括商品标题、价格、图片、规格、参数、店铺信息等。要使用这个接口,需要先在拼多多平台注册一个开发者账号,并为每个拼多多应用注册一个应用程序键(AppKey)。然后需要下载拼多多API的SDK并掌握基本的API基础知识和调用。通过这个接口获取到的

RP9-0 快捷键与注意

1.快捷键.或者ctrl+.可以快速预览按住空格,鼠标就会变成手ctr+9回到页面原点2.注意有的动作要元件先获取焦点有的动作要元件先获取焦点文本输入框中的值要用.text截图工具SnipasteDownloadsSnipaste-截图+贴图快速吸取颜色C键,按住shift可以在RGB和HEX间切换腦圖:Xmind思维

Java版本spring cloud + spring boot企业电子招投标系统源代码

项目说明随着公司的快速发展,企业人员和经营规模不断壮大,公司对内部招采管理的提升提出了更高的要求。在企业里建立一个公平、公开、公正的采购环境,最大限度控制采购成本至关重要。符合国家电子招投标法律法规及相关规范,以及审计监督要求;通过电子化平台提高招投标工作的公开性和透明性;通过电子化招投标,使得招标采购的质量更高、速度

【面试题】——Java基础篇(35题)

文章目录1.八大基本数据类型分类2.重写和重载的区别3.int和integer区别4.Java的关键字5.什么是自动装箱和拆箱?6.什么是Java的多态性?7.接口和抽象类的区别?8.Java中如何处理异常?9.Java中的final关键字有什么作用?10.什么是Java的序列化和反序列化?11.Java中的Strin

下一个时代的船舵,李彦宏握住AI原生应用

相信大家都能感觉到,科技企业和开发者们正在积极转动航向,投身汹涌澎湃的大模型浪潮。越来越多基于大模型的AI应用和插件被推出,但从整体比例上看,AI原生应用的数量规模,远算不上百花齐放。可以回想一下历史上的技术革命,所有科技成果进入生活,靠的是一大群人充分释放智慧和想象力。电气化时代,商场里摆满了让人眼花缭乱的家用电器,

睿趣科技:新手商家如何做好抖音店铺

抖音,作为全球热门的社交媒体平台之一,不仅仅是分享有趣视频的地方,也是许多商家拓展业务的黄金平台。对于新手商家来说,如何在抖音上建立一个成功的店铺是一项重要的任务。以下是一些关于如何做好抖音店铺的建议。明确你的目标和定位:在开设抖音店铺之前,首先要明确你的目标和定位。你要销售什么样的产品或提供什么样的服务?你的目标客户

JVM 篇

目录一、知识点汇总二、知识点详解2.1JVM的主要组成部分及其作用2.2JVM内存模型2.3堆与栈的区别2.4JVM加载class文件的原理机制2.5类的生命周期2.6Java对象结构2.7Java对象创建过程2.8指针碰撞2.9空闲列表2.10TLAB+CAS2.11说说对象内存分配2.12什么是标量与聚合量?2.1

OpenCV自学笔记十六:直方图处理

在OpenCV中,直方图(Histogram)是用于表示图像中像素强度分布的一种统计工具。它可以帮助我们了解图像的亮度、对比度、色彩分布等信息。OpenCV提供了一个函数`cv2.calcHist()`,用于计算图像的直方图。该函数接受图像数组和一些参数,例如要计算的通道数、区间的数量等。它返回一个表示直方图的一维数组

智荟康午休课桌椅成为第十届中国慈善展览会公益亮点产品

第十届中国慈善展览会(以下简称“慈展会”)于9月15日至17日在深圳会展中心隆重举办,此次展会为期3天,主要围绕“共建现代化慈善,聚力高质量发展”的主题,重点聚焦聚力民生福祉,将打造“一展多元”的展会新格局。本届慈展会共有2931家机构、2882个项目参展。开幕当天,意向对接重大捐赠项目、消费帮扶产品采购及产业投资等资

网络工程师的爬虫技术之路:跨界电商与游戏领域的探索

随着数字化时代的到来,跨界电商和游戏行业成为了网络工程师们充满机遇的领域。这两个领域都依赖于高度复杂的技术来实现商业目标和提供卓越的用户体验。本文将深入探讨网络工程师在跨界电商和游戏领域的技术挑战以及应对这些挑战的方法。突破技术障碍的爬虫应用跨界电商业务通常需要大量的市场数据和竞争情报,而这些信息可能分散在全球各个网站

热文推荐