前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >渗透|记一次微信小游戏渗透测试

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

作者头像
亿人安全
发布2023-08-10 10:48:12
3740
发布2023-08-10 10:48:12
举报
文章被收录于专栏:红蓝对抗红蓝对抗

准备工作

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

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

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

看到Show DevTools就说明成功啦!

开始测试

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

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

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

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

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

打开pc端旧版微信调试工具,全局搜索,发现并未找到这个变量

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

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

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

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

完全一样!测试结束。

原文链接:https://www.freebuf.com/vuls/371936.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-07-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 亿人安全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准备工作
  • 开始测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档