0X00 起因
这两天《羊了个羊》太火了,以至于我的很多微信群都看到了这个小游戏,出于好奇,我就进去玩了一会,这一玩,就是50几把,而且第二关一直过不去(气煞我也),广告我都看了几十个了,实在忍不了了,抓包看一看,这游戏要脑子,我这种没脑子的玩不了,看看能不能绕过吧!
0X02 准备工作
需要用到的工具:
Charles4.6.2
Proxifier
Burpsuite1.7.33
电脑端微信客户端(随便什么版本)
下载地址:
链接:https://pan.baidu.com/s/1mXGe9PzoBGzHgLrOM5HFJg
提取码:z8al
流量走向和抓包方案:
电脑端微信小程序进程---->通过Proxifier---->走到Charles---->通过Proxifier---->走到Burpsuite
流量会从小程序会通过Proxifier走到Charles工具,然后Charles走代理到Burpsuite,最后使用Burpsuite来进行修改和重放,其实就是走了一个代理链
PS:实际上直接使用Proxifier+Burpsuite也是可以的,由于个人习惯就把这三个一起说一下,串在一起,也让不熟悉的小伙伴了解一下代理链
配置抓包环境
安装我就不说了,直接开始安装后的设置步骤
第一步 设置Charles监听环境
安装SSL证书到本机
选择第二项
到这里Charles导入SSL证书就完成了
设置SSL和开启SSL
设置Proxy Setting
设置监听端口
然后再点保存,Charles设置就好了,设置完可以重启一下电脑
第二步 设置Burpsuite
打开Burpsuite
查看监听的端口,注意不要和其他软件和Charles端口相同了哈
在浏览器中安装Burpsuite的证书
https://burp/
下载证书到本地,Chrome设置,搜索证书
点击-安全-点击管理证书
然后导入,下载的证书
到这里Burp suite的设置也完成了
第三步 Proxifier设置
点击配置文件,选择代理服务器
添加你的Charles和Burp的监听地址和端口
设置完成后记得保存
然后点击配置文件-代理规则
wechatappex.exe这个是电脑端小程序的进程名字
通过任务管理器就可以看到
在任务管理器中右键查看文件位置就可以看到了
首先设置wechatappex微信小程序走Charles这个工具的代理
然后设置Charles走Burp的代理
到这里就设置完成了
准备工作完成,可以去抓微信小程序的包了
PS:如果上述步骤均完成后,依旧抓不到包,请重新启动下电脑即可
0X03 漏洞挖掘步骤
微信电脑端搜索:羊了个羊,然后打开
如果上述代理设置都没问题的话,打开游戏之后,Proxifier会显示这样
Burp显示
Charles也可以看到
然后打开Burp,包要一个个放,不然就抓不到修改关卡的包
直到你看到80001,下一个就是需要替换的关卡,简单完成第二关
把第二关的90015替换成第一关80001,第二关的内容就是第一关了
这是第一关
这是第二关
第二关结束前,记得打开Burp的Intercept is on
这个包等会还有用,用来重放,刷次数
重放攻击,实现朋友圈霸榜,将上面的包,转发到Intrude模块中
设置null payload,然后选择重放次数
点击启动,即可开刷
刷7000个看看
如何把自己排名刷到朋友圈第一,简单测试了1分钟,就7000多次了
10分钟后
排名第一的这个有可能是另外一种方式
0X04 漏洞修复方案
思考:如何修复这两个漏洞呢,这才是我这篇文章的核心内容,如果大家都按照上面的方法去玩,估计看广告的人就少了,相当于影响了业务安全,会导致广告费减少甚至游戏更快失去热度
如果这款游戏的开发者能看到这篇文章,希望你们尽快修复一下,23333333
第一关改包直接跳第二关,挖过任意用户密码重置的漏洞的小伙伴,相信一点也不陌生?
修复方案:
1.关卡前后逻辑校验
2.第二关获取第一关返回的值
3.这个值第一关通关的时候返回一个唯一值
关于刷次数,就是重放攻击,又该如何修复呢?
修复方案:
1. 在每个数据请求中加入时间戳,在服务端进行验证。
2. 加入随机生成的 token,在服务端进行有限性验证。
3. 应采用校验技术或密码技术保证重要数据在传输过程中不存在篡改或重放攻击,包括但不限于鉴别数据、重要业务数据、重要审计数据、重要配置数据、重要视频数据和重要个人信息等。
如果大家还有更好的修复方式,欢迎评论区留言补充
推荐阅读:
点赞,转发,在看