一、前言
过年回家饭局上碰到一个原来心仪的妹子,虽然已经4、5年没见面了,妹子见到我还是分外亲热,不仅主动挨着我坐着,居然还邀请我一起玩游戏,心中窃喜不已,哥们王者刚上了王者星耀,先好好炫一下技术,然后……
妹子就给我发来了这个:
下载一看,尼玛什么鬼,妹子居然也玩网络棋牌了,这种小游戏一般都很弱啊,要是能把他拿下来,岂不是可以让妹子好好崇拜一下,别人都说妹子喜欢一个男人是从崇拜他开始的……嗯……
二、目标分析
言归正传,访问目标主站,只有一个游戏下载页面,暂时没发现什么有价值的东东,先放一放。
在 Android 模拟器上安装游戏,配置好 burpsuite 代理,并开始用 wireshark 抓包进行流量分析。启动游戏,发现 app 会通过 www.game1579.com 进行身份认证并获取游戏基本信息,另一个URL是 http://fjsss.ruiyoushouyou.com 。
简单测试了一下已知的几个API,未发现明显漏洞,同时发现该服务器安装有安全狗。
继续分析流量,发现了一个比较关键的功能:用户通过微信登陆成功后,APP会把用户头像上传到服务器上,在APP加载的时候从WEB服务器上读取用户头像。而文件上传的操作,是通过/Public/XmlHttpUser.aspx这个API来完成的。
三、过程
1) 任意文件上传配合web.config绕过安全狗getshell
漏洞位置:http://www.game1579.com/Public/XmlHttpUser.aspx?type=AddImg
filename参数可以控制文件上传的文件名,配合../可以跨目录。但是直接上传asp或者aspx会被安全狗拦截,因此,此处需要利用web.config来让iis解析自定义的后缀。
但是这个服务器不能解析自定义后缀的aspx文件,只能为asp自定义后缀,尝试向当前目录写入web.config,将asdx解析为asp。然后写入asdx后缀的asp webshell,由于安全狗会拦截菜刀,此处只写入了一个最基本的cmdshell。
然后上传操作数据库的aspx shell,利用move命令将后缀改为aspx,读取web.config获得数据库连接字符串。此处简单把sql语句reverse了一下,防止安全狗拦截,然后就直接system了。
2) 后台
System是远远不够的,我一定要进后台满足一下小小好奇心。
读取iis配置,发现网站管理后台在8080端口的admin目录下,但是无法直接从外网访问到。读取iis日志,也发现admin的访问记录,分析发现应该是iis做了ip限制。截取一部分日志……
虽然你有限制,但我有system权限啊,上了一个meterpreter,抓到了系统管理员密码明文:Administrator NfrsWQ86r^n9$***
将8080端口转发到本地,分析web代码,从数据库中找到网站管理员的账号和密码hash,破解后得到明文,神奇后台闪亮登场:
四、一些令人惊讶的小发现
1)游戏采取代理进行管理
代理后台位于网站主站的AgencyPhone目录下,通过代理可以向任意用户发放钻石(房卡),游戏后台管理员可以给代理充钻石。
2) 钻石的有偿交易
在游戏中,玩家要进行对局,需要消耗钻石,APP提供了钻石购买功能,允许玩家使用微信支付来购买钻石,也可以向代理购买,代理向玩家出售钻石,并通过其他支付手段来收取费用,以进一步逃避监管。部分高权限的代理可以继续招收下级代理,所有代理与二级代理之间的交易都有据可查。
3) 游戏可以作弊
管理员不仅搭平台坐庄,还搞了一批“机器”做高胜率赚玩家钱。
五、后续的拓展
后续通过各种关联分析,又搞定了一批目标,过程太复杂,大概就是程序内特征+IP&域名+全网特征扫描:
以下为各APP抓取的明文密码与通用充值接口,根据其采取的充值接口一致、关联关系与密码一致性可以明确为一个团伙作案,用户总规模近100万,总金额由于大量采取代理线下交接,无法准确统计,但光代理产生的钻石流水就已经突破了公安部《关于办理网络赌博犯罪案件适用法律若干问题的意见》中规定的“赌资数额累计达到30万元以上的属于情节严重,处3年以上10年以下有期徒刑,并处罚金”。
APP | URL | PASS |
---|---|---|
天天福建十三水 | www.game1579.com | NfrsWQ86r^n9$*** |
天天十三水 | www.ruiyoushouyou.com | NfrsWQ86r^n9$*** |
大家玩福建十三水 | www.dawanjiagame.com | NfrsWQ86r^n9$*** |
八闽十三水 | bmsss.ruiyougame.com | NfrsWQ86r^n9$*** |
天天福州麻将 | www.game1897.com | askQdvU&cJ7Mj*** |
朋友十三水 | pysss.ruiyouqipai.com | askQdvU&cJ7Mj*** |
<!--2.支付宝充值接口配置-->
<add key="AlipayAccount" value="congyinghuihuang@163.com" />
<add key="AlipayPartnerID" value="2088421416788652" />
<add key="AlipayKey" value="o32xg0duntqmpqwrvh14rdnl4fw30nag" />
<add key="AlipayNotifyURL" value="https://mapi.alipay.com/gateway.do?" />
<!--微信支付
商户名称: dhsm6789
商 户 号: 153601
密钥: e6093cb1b1f0a6858a46d586016c105e
网关 webSite:
-->
<add key="WX_MD5key" value="" />
<add key="WX_MerNo" value="" />
<add key="WX_webSite" value="http://www.zhifuka.net/gateway/weixin/weixinpay.asp" />
<!--18.微信充值接口配置-->
<add key="WeixinAppID" value="wx14151136d954c4ab" />
<add key="WeixinMchID" value="1273317401" />
<add key="WeixinKey" value="d4624c36b6795d1d99dcf0547af5443d" />
<add key="WeixinNotifyURL" value="http://paysdk.weixin.qq.com/example/ResultNotifyPage.aspx" />
六、总结
以上六个APP为同一团队运营,均为专业性赌博APP,用户规模近100万,不仅通过各级代理组织线上赌博,且通过后台操作胜率对玩家黑吃黑,既不合法、也不合理。老衲能做的只能是将之公布出来,后面的就交给警察叔叔了。同时也敬告aliyun、yundun等企业,服务器上架要做好监督与核查,欢迎jcss站内私信,更多证据链可以提供……
*本文作者:xiaotouming,转载请注明来自 FreeBuf.COM