0x00 Fiddler软件介绍

Fiddler支持断点调试抓包网页数据,通过截取解析数据,修改需要伪造或者发送的数据,达到修改数据包的效果。现在也支持decode HTTPs的数据包,也支持IOS/Android抓包分析,可以说是一个非常全面的软件。

Fiddler抓包干货:实战某页游充值数据修改插图

其他的例如WPE可以用来封包一些页游以及网络游戏数据,不过现在的游戏对于数据的正确性非常地严格,一般是不会有这些较大的漏洞。

0x01 配置Fiddler 过滤必要的请求

本次我们以某游戏充值中心作为例子

我们首先抓取订单的数据

Fiddler抓包干货:实战某页游充值数据修改插图1

在请求标头中,选择仅当URL包含时才显示,并勾选启用过滤器

Fiddler抓包干货:实战某页游充值数据修改插图2

继续选择断点:选择 之前请求

这里可选过滤 pay.**99.com,接着我们回到游戏,进行抓包

0x02 进入游戏 修改请求

Fiddler抓包干货:实战某页游充值数据修改插图3

我们在选择支付方式和充值金额后,打开fiddler拦截请求

Fiddler抓包干货:实战某页游充值数据修改插图4

将Body中的money参数对应的值修改为5(现在大多数都不能修改为0),并点击运行到完成

即可完成本次请求相应,并且正常创建了订单,显示了支付二维码

Fiddler抓包干货:实战某页游充值数据修改插图5

现在多数充值系统,都会有类似的充值心跳,用来检测是否充值成功

Fiddler抓包干货:实战某页游充值数据修改插图6

扫码后,成功显示支付5元,不过值得一提的是,现在的充值检测非常的严格,之所以限制最低充值金额,大多是为了弥补当年设置0元购的BUG,防止将2000元改为0元。

在我们支付后,该游戏的充值结果大多数都是对应的你的充值金额,而并不是对应订单号上。如果想要完全修改,例如充值的会员,或者其他固定金额的商品,通过抓取并修改数据包,应该可以达到修改效果。

0x03 AutoResponse修改返回数据

有部分游戏的充值系统,在取订单状态时,可能存在漏洞,这是可以利用它,通过修改返回值来直接判定充值成功,达到0元充值的效果,不过成功率也是很低

首先,你需要自己充值成功一次,并且截取到支付成功后,订单返回的数据

例如,我截取到的一个json文件

Fiddler抓包干货:实战某页游充值数据修改插图7

这一个json文件对应着某游戏充值成功后的订单返回状态,我们可以在对应规则中匹配URL,并且返回本地这个文件,如果充值系统没有其他校验,那么该充值就会直接成功,有效时间直至该json失效。

不过聪明一点地都会设置其他随机token或者时间戳,防止支付成功的数据包被二次利用

0x04 道高一尺,魔高一丈

作为一名刻晴玩家,只要是喜欢的游戏都会充值,肝到爆

充值系统作为一个游戏运营的关键,所以能找到的漏洞可以说是微乎其微,有兴趣的可以去看看腾讯的支付,在合理地范围内抓下包看下。当年的那些刷Q币的,并不能说都是假的,最多就是1:0.X这种情况,至于0元是没有的;有的,也只是一个骗你流量的盗号软件