渗透|记一次微信小游戏渗透测试_集群智慧网络安全云
全国客户服务热线:4006-054-001 疑难解答:159-9855-7370(7X24受理投诉、建议、合作、售前咨询),173-0411-9111(售前),155-4267-2990(售前),座机/传真:0411-83767788(售后),微信咨询:543646
企业服务导航

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

发布日期:2024-05-19 浏览次数: 专利申请、商标注册、软件著作权、资质办理快速响应热线:4006-054-001 微信:15998557370


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

准备工作 因为目标站点只能用微信打开,微信又不能调试看代码。这里推荐可以使用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加密与数据包对比一下。 完全一样!测试结束。 文章来源:freebuf 黑白之道发布、转载的文章中所涉及的技术、思路和工具仅供以安全为目的的学习交流使用,任何人不得将其用于非法用途及盈利等目的,否则后果自行承担! 如侵权请私聊我们删文 END

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