一款IOS小游戏的数据抓包篡改实践

引言

最近跳一跳游戏真是风靡了整个朋(I)友(T)圈,身边有不少小伙伴尝试了各类语言写跳一跳的脚本,而我因为比较懒,因此只尝试py版本的脚本实验,而后又研究了一下POST直接提交分数的过程,在这个过程当中,对抓包这件事儿产生了浓厚的兴趣。前端

抓包

首先说说本身的抓包把,前端攻城狮一枚,因此采用的代理工具是阿里的 AnyProxynode

主要特性包括:npm

基于Node.js,开放二次开发能力,容许自定义请求处理逻辑
支持Https的解析
提供GUI界面,用以观察请求小程序

这里简单描述一下如何使用anyproxy抓取https的包vim

1. npm install -g anyproxy
2. anyproxy-ca // 生成https ca证书
3. 手机下载生成的本地ca证书并添加信任(IOS须要使用Safari打开下载证书的地址)
4. anyproxy -i 启动AnyProxy并解析全部https的服务
复制代码

具体细节这里就不拓展开了,百度能找到不少资料。 而后因为放在本地代理抓包每次都要从新启动AnyProxy而且须要保证和电脑在同一个局域网下很是麻烦,因此我将AnyProxy部署到了服务器上。 服务器上的部署和本地没什么区别,无非就是须要使用pm2去管理一下AnyProxy安全

pm2 start anyproxy -x -- -i [这里能够加上anyproxy其余的参数,好比端口相关]
复制代码

这里有一个问题就是,AnyProxy有一个Web GUI能够看到抓取的包,可是没有任何认证,因此任何人均可以登陆这个界面看到使用这个代理的包信息,这是一件很是不安全的事情,因此若是放在服务端仍是对AnyProxy作一下二次开发比较好。bash

某游戏

简单介绍一下这个游戏:
一款单机类的游戏,能够根据离线时间获取离线收益。(够简单吧...)服务器

包分析

其实没啥好分析,由于获取离线收益的包一眼就能发现,因为是一款单机游戏,那么与服务器进行交互的就比较少,因此一眼就能发现这样的一个请求。网络

一看就能发现这是请求的一个时间戳,那简单的分析一下,这个游戏应该是用这个服务器的时间和本地的时间做比较而后计算出离线时间的(固然修改本地时间这种作法已经被做者考虑到了),那么是否是意味着我能够伪造一个这样的时间戳就能产生一个高额的离线收益呢!

伪造请求

这种请求比较容易伪造,不须要身份验证,没有加密数据,须要完成的就是伪造host而后转发一个虚假的时间戳。工具

伪造host

最简单的方式:

1. vim /etc/hosts // 打开hosts文件
2. 在最后一行加入 服务器IP 指向域名
复制代码

这时候若是从服务器访问 www.hko.gov.hk的话必然会先解析到本地的 host,而后跳转到服务器启动的 Server

因此这时候我选择用node起一个Simple Server, GET请求的地址即是上图的/cgi-bin/gts/time5a.pr,简单的server以下

const server = require('server')
const { get } = server.router

server({ post: 80 }, {
  get('/cgi-bin/gts/time5a.pr', ctx => '0x191234567890')
})
复制代码

这里偷懒了,用了一个第三方的库快速生成一个Simple Server,没用使用http来createServer,而且直接使用了80端口。若是80端口被占用的话能够考虑使用结合Nginx处理。

成果

好了一切准备就绪,来看一下最终的成果吧。

成功了~果真成功了~
离线收益成功结算了,可是有上限的数额,好像是6个小时,不过能够无限刷...无限刷...

其余实践

这只是一个很简单的实践,在作这个实践以前还有一个大胆的想法。在跳一跳火的同时,发现口令红包莫名火了起来,这时候就思量着如何可以提取口令红包的数据而后伪造呢(坏笑ing...) 思路大概这样

  • 经过代理捕获小程序口令红包接口(https)
  • 提取其中须要转化成语音的字段
  • 经过文字转化语音的接口伪造报文POST

唔...显然我是失败了,否则我如今就躲在后面闷声发大财了...应该不违法把各位亲,毕竟我抢的是红包呀~~不过有兴趣的人能够再尝试尝试,若是能捕获到全部的红包...那收入仍是有些可怕的...

总结

总的来讲这个过程是比较轻松Esay的,但贵在思考和探索的过程,经过也从一个方面给我这个前端攻城狮打响了警钟,原来抓包伪造是一件如此可怕的事情,对于网络安全的防范须要特别的注意才行,否则轻则诸如这个小游戏,重则涉及资金相关的,这可不是闹着玩的。

敬请大佬们多多指点!

相关文章
相关标签/搜索