羊了个羊过关技术分析

admin 2022年9月19日10:08:07评论162 views字数 1981阅读6分36秒阅读模式

声明:该文章仅供安全学习和技术分享,请勿将该文章和文章中提到的技术用于违法活动上,切勿在非授权状态下对其他站点进行测试,如产生任何后果皆由读者本人承担,与余生安全团队无关!

如有侵权,请联系后台进行删除。转载请注明出处,感谢

Written by YusecTeam

1. 前言

最近几天有个叫「羊了个羊」的微信小程序游戏非常火,我也去玩了玩,第一关非常容易,但是第二关非常难,甚至压根没法过去,如下图。

羊了个羊过关技术分析

所以作为一名信安专业的人,想试试修改数据包能不能通关。

先简单说一下思路:

  1. 「你必须会抓包,如果不会,就不用往下再看了!(重点,重点,重点)」

  2. 游戏开始后地图资源有两个数据包为 80001 和 90018,分别对应第一关和第二关(通过观察第二关的地图 id 每天增加 1,写文章时第二关地图资源信息为 90018)。由于第二关很难过不去,所以我们只需要替换第二关数据包中地图信息 的 90018 为 80001 即可,也就是说我们只需要完成两此第一关就能通关了!

  3. 抓取通关的数据包,重放我们想要通关的次数,比如 100 次!

  4. 返回查看朋友圈排名,就可以截图去炫耀了!

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. 问题思考

那么造成这种问题的原因是什么呢?

  • 第一关和第二关的逻辑校验存在问题,应该固定死每关的地图资源,或者第一关通关后生成一个随机值传给第二关。
  • 没有限制通关数据包的次数,造成了可以无限次重放通关数据包从而刷榜。


关注我们,微信公众号:余生安全团队。


原文始发于微信公众号(余生安全团队):羊了个羊过关技术分析

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年9月19日10:08:07
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   羊了个羊过关技术分析https://cn-sec.com/archives/1303513.html

发表评论

匿名网友 填写信息