声明:该文章仅供安全学习和技术分享,请勿将该文章和文章中提到的技术用于违法活动上,切勿在非授权状态下对其他站点进行测试,如产生任何后果皆由读者本人承担,与余生安全团队无关!
如有侵权,请联系后台进行删除。转载请注明出处,感谢!
Written by YusecTeam
1. 前言
最近几天有个叫「羊了个羊」的微信小程序游戏非常火,我也去玩了玩,第一关非常容易,但是第二关非常难,甚至压根没法过去,如下图。
所以作为一名信安专业的人,想试试修改数据包能不能通关。
先简单说一下思路:
-
「你必须会抓包,如果不会,就不用往下再看了!(重点,重点,重点)」
-
游戏开始后地图资源有两个数据包为 80001 和 90018,分别对应第一关和第二关(通过观察第二关的地图 id 每天增加 1,写文章时第二关地图资源信息为 90018)。由于第二关很难过不去,所以我们只需要替换第二关数据包中地图信息 的 90018 为 80001 即可,也就是说我们只需要完成两此第一关就能通关了!
-
抓取通关的数据包,重放我们想要通关的次数,比如 100 次!
-
返回查看朋友圈排名,就可以截图去炫耀了!
2. 需要的工具
为了能够通关,我们需要用到以下工具:
-
Proxifier -
BurpSuite(其它抓包工具也可以) -
微信 PC 端
关于 BurpSuite 全局抓包的方法可以参考之前的文章,也就是说流量的走向是 电脑端微信小程序进程 -> Proxifier -> BurpSuite
。
3. 通关过程
首先配置 Proxifier,代理服务器到 BurpSuite 的端口。
再点击「配置文件」->「代理规则」。
配置代理规则,将微信小程序加入代理规则中。
微信小程序的目录可以打开任务管理器查看,找到「WeChat Miniprogram Framework」。
微信小程序所在的绝对路径是:
C:Users用户名AppDataRoamingTencentWeChatXPluginPluginsWMPFRuntime4642extractedruntime
如果 Proxifier 出现以后内容说明代理正确。
在 PC 端微信中搜索小程序「羊了个羊」。
将 BurpSuite 设置为 Intercept is on,然后点击「再次挑战」,抓到的数据包就是第一关地图资源的 id 信息,为 80001。
下一个数据包则是第二关的地图资源 id(通关观察每天增加 1,写文章时第二关地图资源信息为 90018),由于第二关非常难,那么我们就将拦截的第二关地图资源信息修改为第一关的 80001。
之后进入第一关,可以将 Intercept 改为 off,当第一关通关后进行难度提升的第二关,此时可以发现第二关的地图也变成了第一关的内容。
随便点击即可三个消除通关,在通关前记得将 Intercept 设置为 on 去查看通关的数据包,或者跳到 Http history 页面查看通关数据包。
GET /sheep/v1/game/game_over?rank_score=1&rank_state=1&rank_time=679&rank_role=1&skin=23 HTTP/2
Host: cat-match.easygame2021.com
Xweb_xhr: 1
T: 自己的微信 Token
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36 MicroMessenger/7.0.4.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat/WMPF
Content-Type: application/json
Accept: */*
Sec-Fetch-Site: cross-site
Sec-Fetch-Mode: cors
Sec-Fetch-Dest: empty
Referer: https://servicewechat.com/wx141bfb9b73c970a9/20/index.html
Accept-Encoding: gzip, deflate
Accept-Language: en-us,en
如果想多次通关只需要将这个通关数据包转发到 Intrude 模块中,设置爆破类型为 null payload,然后选择重放次数就可以实现刷通关次数了。
但是不要刷的太多了,否则会有概率被清除通关次数。
4. 问题思考
那么造成这种问题的原因是什么呢?
-
第一关和第二关的逻辑校验存在问题,应该固定死每关的地图资源,或者第一关通关后生成一个随机值传给第二关。 -
没有限制通关数据包的次数,造成了可以无限次重放通关数据包从而刷榜。
关注我们,微信公众号:余生安全团队。
原文始发于微信公众号(余生安全团队):羊了个羊过关技术分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论