代码审计“吃鸡”辅助外挂黑色产业链 – 作者:Draven

*本文原创作者:Draven,本文属FreeBuf原创奖励计划,未经许可禁止转载

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

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

QQ图片20180129120140.jpg

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

1.png

2.png

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

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

3.png

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

文件结构如下:

4.png

下图是参数处理的方式。

5.png

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

1. 取参数使用错误

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

6.png

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

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

7.png

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

8.png9.png

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

2. 没有引号来保护的点

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

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

10.png 

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

11.png

构成了注入

12.png 

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

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

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

13.png

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

14.png 

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

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

15.png 

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

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

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

16.png 

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

我们先访问

17.png 

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

18.png 

这样就简单多了。。

来看看我们的发卡平台

19.png 

可怕的流水账单

20.png 

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

21.png22.png 

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

大吉大利,天天吃鸡。

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

*本文原创作者:Draven,本文属FreeBuf原创奖励计划,未经许可禁止转载

来源:freebuf.com 2018-02-01 08:30:12 by: Draven

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论