记一次微信小游戏渗透测试

news2024/12/30 1:08:39

本文转载于:https://www.freebuf.com/vuls/371936.html

准备工作

因为目标站点只能用微信打开,微信又不能调试看代码。这里推荐可以使用pc端旧版微信3.2.1,具体方法放链接里:

https://blog.csdn.net/qq_45863248/article/details/127688137

需要注意的是,如果作者方法未生效,可以把pak文件放微信安装目录再重启试试。

看到Show DevTools就说明成功啦!

开始测试

首先看到微信小游戏先游戏流程先走一遍抓个包。在手机微信上点击开始游戏:

1689216059_64af643bb24a47d6a584d.png!small?1689216060822

把上面的图形对应滑到下面的棒冰上制作成功棒冰+1

1689218943_64af6f7fb7e59d6bb14ac.png!small?1689218944809

每制作一根棒冰发送一个包(我这里制作了两个):

1689215942_64af63c672f38c2ec34f8.jpg!small?1689215942794

1689216184_64af64b8afa3619675eba.png!small?1689216185183

页面倒计时结束后,变量boxNum统计制作了多少根棒冰,然后发送

1689216208_64af64d02fbf2d60436b3.png!small?1689216208469

这里我们看到boxNum参数是加密了的,有理由怀疑最终制作个数就是由boxNum来控制的

打开pc端旧版微信调试工具,全局搜索,发现并未找到这个变量1689215817_64af6349106457fb5c80e.png!small?1689215818443

懵了,我还以为出了什么问题,反复找了半天,发现也并没有游戏相关的js。在旧版pc端微信点开始游戏抓包,终于是发现了game.js,全局搜索boxNum,居然在这里。与之前不同的是,它不会一次性加载显示所有js,游戏开始后才加载的。

1689217218_64af68c25cfb394dde921.png!small?1689217219427


分析加密逻辑,直接找f函数,搜索function f:

1689218316_64af6d0c00919925f7b6a.png!small?1689218316379

发现是AES加密,自定义了icon1,icon2两个未知变量,需要加密就必须知道这两个变量,同样,在这个game.js和之前的js里均未搜到这两个变量。于是游戏里继续抓包,发现rem.js,看到icon1、icon2均是固定的。

1689218413_64af6d6de0c652a56cd7a.png!small?1689218414274

这下好办了,直接本地环境搭起来,先试试开头的我制作的棒冰数量2加密与数据包对比一下。

1689218675_64af6e73c88810b4bf3b8.png!small?1689218676689

1689218627_64af6e43e4d24c52fab3d.png!small?1689218628235

完全一样!测试结束。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/893436.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

(7)(7.3) 自动任务中的相机控制

文章目录 前言 7.3.1 概述 7.3.2 自动任务类型 7.3.3 创建合成图像 前言 本文介绍 ArduPilot 的相机和云台命令,并说明如何在 Mission Planner 中使用这些命令来定义相机勘测任务。这些说明假定已经连接并配置了相机触发器和云台(camera trigger and gimbal hav…

批量爬虫采集大数据的技巧和策略分享

作为一名专业的爬虫程序员,今天主要要和大家分享一些技巧和策略,帮助你在批量爬虫采集大数据时更高效、更顺利。批量爬虫采集大数据可能会遇到一些挑战,但只要我们掌握一些技巧,制定一些有效的策略,我们就能在数据采集…

【设计模式】订单状态流传中的状态机与状态模式

文章目录 1. 前言2.状态模式2.1.订单状态流转案例2.1.1.状态枚举定义2.1.2.状态接口与实现2.1.3.状态机2.1.4.测试 2.2.退款状态的拓展2.2.1.代码拓展2.2.2.测试 2.3.小结 3.总结 1. 前言 状态模式一般是用在对象内部的状态流转场景中,用来实现状态机。 什么是状态…

Lnton羚通关于PyTorch的保存和加载模型基础知识

SAVE AND LOAD THE MODEL (保存和加载模型) PyTorch 模型存储学习到的参数在内部状态字典中,称为 state_dict, 他们的持久化通过 torch.save 方法。 model models.shufflenet_v2_x0_5(pretrainedTrue) torch.save(model, "../../data/ShuffleNetV2_X0.5.pth…

如何在前端实现WebSocket发送和接收TCP消息(多线程模式)

目录 第一步:创建WebSocket连接第二步:监听WebSocket事件第三步:发送消息第四步:后端处理函数说明 当在前端实现WebSocket发送和接收TCP消息时,可以使用以下步骤来实现多线程模式。本文将详细介绍如何在前端实现WebSoc…

DDT数据驱动+Pytest+Allure+自定义代码封装

DDT数据驱动PytestAllure自定义代码封装 CASE --判断运行--单文件去进行运行 CASE --判断 运行–单文件去进行运行 一次性运行多个case——Pytest 1.前置条件: pip install pytest 2.Pytest——脚手架——可以站在它的身上做一系列的事情 3.规则的遵守 4.test_开头…

传感网应用开发实训室建设方案

传感网应用开发实训室概述 物联网是我国战略性新兴产业的重要组成部分,《物联网“十二五”发展规划》圈定了10大领域重点示范工程,第一个关键技术创新工程提出“充分发挥企业主体作用,积极利用高校和研究所实验室的现有研究成果,在…

springBoot 配置文件引入 redis 的相关参数说明

在Spring Boot应用中使用Redis作为缓存或数据存储时,可以在应用的配置文件中配置相关参数。下面是常用的Redis配置参数及其说明: spring.redis.host: Redis服务器主机地址,默认为localhost。spring.redis.port: Redis服务器端口,…

游戏工作室如何使用代理服务器防封

嘿,各位游戏工作室的小伙伴们!作为一名专业的程序员,我今天要和大家分享一个有关代理服务器的技巧,这个技巧可以帮助你们解决封号和封禁的问题。 首先,我们得明白为什么要使用代理服务器来解决封号和封禁的问题。在我们…

酷开科技 | 酷开系统影视库,中外影片一网打尽

相信大家在日常的生活中也会遇到一些令人焦虑的事情,这个时候你们又是如何处理的呢?你可以听听音乐、出去步行或者看场电影。认真聆听音乐中的每一段旋律,感受乐器的灵魂,特别能够让人沉静下来;走在城市的街道上&#…

RabiitMq-4工作队列/消息应答/消息持久化/不公平分发

1.工作队列 工作机制类似一个生产者,多个消费者。工作队列采用轮训的机制,即工作线程一次只能处理一个消息,轮流处理 公共方法 public class MqUtiles {public static final String QUEUE_NAME"hello";public static Channel fu…

马修斯相关系数MCC简介

在评估机器学习模型的性能时,F1score都被首选指标。在本文中,我们将介绍一个值得更多关注和认可的替代度量:马修斯相关系数(MCC)。 F1score通过协调准确率和召回率来计算,旨在在两者之间取得平衡。但是假设我们有一个具有以下混淆矩阵的数据集…

亿发软件:多门店进销存商品信息管理解决方案,专业记账开单软件

物资难以有效管理:不同种类的物资繁多,难以实现一体化管理;数据更新缓慢:数据无法实时更新,难以进行成本和毛利核算,导致企业盈利状况不明晰;沟通效率低下:收发货单分配不及时&#…

应用在水土壤水分检测中的国产电容传感芯片

土壤含水量测定是指土壤中各种液态水分的定量确定。有时还包括冰和部分矿物结晶水,一般可分为采样法和原位测定法两大类。采样法是在田间采样后测定土样含水量,原位测定法是利用仪器设备直接在田间测定土壤含水量的方法。 农业是支撑国民经济建设和发展…

Docker容器:docker的资源控制及docker数据管理

文章目录 一.docker的资源控制1.CPU 资源控制1.1 资源控制工具1.2 cgroups有四大功能1.3 设置CPU使用率上限1.4 进行CPU压力测试1.5 设置50%的比例分配CPU使用时间上限1.6 设置CPU资源占用比(设置多个容器时才有效)1.6.1 两个容器测试cpu1.6.2 设置容器绑…

10个最强大的3D城市建模软件

城市设计师在塑造城市的物质环境方面发挥着至关重要的作用。 他们创建和规划公共空间、设计建筑并创造反映社区独特特征的城市景观。 为了实现这些目标,城市设计师严重依赖 3D 建模软件。 这些软件程序提供了创建、可视化和操作建筑物和景观 3D 模型的能力&#xff…

PHREEQC模型化学热力学理论和数据库.dat、各种模拟反应平衡反应模拟、化学动力模拟、反应迁移模拟

PHREEQC是一个用于计算多种低温水文地球化学反应的计算机软件,以离子缔合水模型为基础的PHREEQC能够(1)计算物质形成种类与饱和指数;(2)模拟地球化学反演过程;(3)计算批反…

Python数据分析实战-多线程并发处理列表(附源码和实现效果)

实现功能 Python数据分析实战-多线程并发处理列表 实现代码 import threading有15个列表,尝试多进程并发处理,每个列表一个进程,进程数和 CPU 核数一致def sum_list(lst):return sum(lst)if __name__ __main__:lists [[1,2,3], [4,5,6], …

实现el-table两列多选框且不可同时勾选

1、效果图如下&#xff0c;功能&#xff1a;必修和选修不可同时勾选 2、代码如下 <template><el-table :data"addTableData" style"width: 100%"><el-table-column label"必修" width"55px" align"center"…

CentOS7 上安装 Percona XtraBackup

介绍 Percona XtraBackup是一款适用于基于MySQL的服务器的开源热备份实用程序&#xff0c;在备份期间不会锁定数据库。它可以备份MySQL 5.1、5.5、5.6 和 5.7 服务器上的InnoDB、XtraDB 和MyISAM表的数据&#xff0c;以及带有 XtraDB 的 Percona Server。 下载网址 2.4文档地…