代码审计“吃鸡”辅助外挂黑色产业链

2024-04-23 15:03

绝地求生可以说是本年度最火的游戏了。首付99,月付30,也可以说是土豪游戏了。我等屌丝吃了一个月的泡面,好不容易才凑够99上了吃鸡的车。可谓上车容易,“吃鸡”难。作为盒子精和快递员的我,每次都敬职敬业,把自己辛辛苦苦攒其的满配M4送给各种大佬,心中的苦闷英雄联盟辅助,也就只有自己晓得了。

有热度的地方,就有黑产。虽然游戏官方一次次严打,但也不乏外挂横生。为了吃鸡的我,决定只身探险,为大家揭秘这条黑色产业链(找个牛逼的外挂去“吃鸡”)。

吃鸡辅助_吃鸡辅助鸡腿_鸡的辅助装置

网上搜索了一下吃鸡辅助,找到个外挂的发卡平台。

吃鸡辅助_鸡的辅助装置_吃鸡辅助鸡腿

吃鸡辅助鸡腿_鸡的辅助装置_吃鸡辅助

很多朋友第一次听到“发卡平台”这个概念,这里简单说下。发卡平台就是第三方销售平台,就像某宝一样。外挂制作者或者外挂的代理商,在发卡平台注册商户,上架商品(外挂充值卡密),每卖出一单,发卡平台会从中抽成。所以,只要我们搞定了发卡平台,就可以自己充值,愉快吃鸡了。

外部看了看,没找到什么利用的点。所以,我们就得整一套源码来审计。这时就得上我们的神器了。先提取发卡平台的关键字,然后搜索引擎爬取网站。

吃鸡辅助_吃鸡辅助鸡腿_鸡的辅助装置

再对采集到的网站扫一遍备份文件(主要还是我牛逼的字典),得到一份源码。本地搭建,审计开始。

文件结构如下:

吃鸡辅助_吃鸡辅助鸡腿_鸡的辅助装置

下图是参数处理的方式。

吃鸡辅助_鸡的辅助装置_吃鸡辅助鸡腿

所有形式进来的参数都要经过makeSafe的“洗礼”,基本就是加了“\”。防护还是挺弱的。我们想几个方法绕过下。

1. 取参数使用错误

取参数使用错误这个问题,以_P和$_POST举例来说。

吃鸡辅助_吃鸡辅助鸡腿_鸡的辅助装置

_P就是$_POST经过makeSafe“洗礼”后的结果。可是有时候犹豫程序员粗心后者习惯的问题,他取参时没有用_P,而是用了$_POST,那不也没有经历“洗礼”么。

文件admin/adminInfo.php就刚好存在这样的问题。

吃鸡辅助鸡腿_吃鸡辅助_鸡的辅助装置

这里由于没有回显,时间盲注喽

鸡的辅助装置_吃鸡辅助鸡腿_吃鸡辅助

吃鸡辅助鸡腿_鸡的辅助装置_吃鸡辅助

这样的注入利用起来一点都不好用,故继续寻找。

2. 没有引号来保护的点

虽然可以宽字节绕过注入,但是还是希望中找到通杀位置(主要还是我懒)。

文件/lin/ajax.php中这个查询$userid,goodid和$channelid都没有引号的保护。

鸡的辅助装置_吃鸡辅助_吃鸡辅助鸡腿

但是,在看参数的获取$userid和goodid都进行了int强制类型转换。可偏偏$channelid没有进行转换。

吃鸡辅助鸡腿_鸡的辅助装置_吃鸡辅助

构成了注入

鸡的辅助装置_吃鸡辅助鸡腿_吃鸡辅助

还是好多处可以注入的地方,但是有这一次就够了呀。

接下来,我们再去找点别的乐子。

打开admin后台目录看看吃鸡辅助,发现其主要的认证依靠于common.php进行。

鸡的辅助装置_吃鸡辅助_吃鸡辅助鸡腿

别的文件包含它来进行认证,这时,发现有个奇怪的文件adminInfo.php。这个文件居然没有包含该文件吃鸡辅助,那岂不是未授权访问?直接访问发现是空白显示,赶紧打开源码看看其功能。

吃鸡辅助_鸡的辅助装置_吃鸡辅助鸡腿

我们看到action接受后有两个方法。

我们试着访问看看第一个方法。

吃鸡辅助鸡腿_鸡的辅助装置_吃鸡辅助

瞬间惊呆,这莫不是开发者留下来的后门。。。那这可比注入好用多了。

但md5密文有时候破解不出来,我等穷屌丝也用不起付费破解。

我们再来看看第二个方法吧。

鸡的辅助装置_吃鸡辅助_吃鸡辅助鸡腿

这个方法简直无敌了,我们可以以任意管理员登录后台。

我们先访问

吃鸡辅助_吃鸡辅助鸡腿_鸡的辅助装置

然后访问/admin,就直接进入后台了。

鸡的辅助装置_吃鸡辅助鸡腿_吃鸡辅助

这样就简单多了。。

来看看我们的发卡平台

鸡的辅助装置_吃鸡辅助鸡腿_吃鸡辅助

可怕的流水账单

吃鸡辅助_鸡的辅助装置_吃鸡辅助鸡腿

算了,我只是来找我的辅助卡密的

吃鸡辅助鸡腿_吃鸡辅助_鸡的辅助装置

吃鸡辅助_鸡的辅助装置_吃鸡辅助鸡腿

提取卡密,充值帐号,“吃鸡”去了。

大吉大利,天天吃鸡。

文中提及技术细节,仅作交流,请勿用于非法活动。

登录/注册