业界动态资深程序揭秘 “舰娘国服”实为“私服”

编辑:老衲 发布时间:

近日,发生在百度舰娘贴吧里的那场闹剧大家一定都不陌生,正所谓“不作死就不会死”,有关“舰娘国服”的那点事儿也被各大媒体翻了个底朝天,让玩家能一窥背后的前因后果,以及利益链下的灰色区域。

        近日,发生在百度舰娘贴吧里的那场闹剧大家一定都不陌生,正所谓“不作死就不会死”,有关“舰娘国服”的那点事儿也被各大媒体翻了个底朝天,让玩家能一窥背后的前因后果,以及利益链下的灰色区域。

        2015年1月16日凌晨,在百度贴吧“舰队collection吧”被传易主后的第三天,一位名为“程序员Delton”的用户在微博上发布了一篇关于舰娘国服被黑始末的文章,文中指出《舰娘国服》实际是一款反编译日本游戏作品《舰队Collection》的游戏,该作者在文章称国内的这款游戏为“私服”。

        

        此外,由于《舰娘国服》在近日一直遭到黑客们的攻击,服务器,官网均已沦陷。不过,据“程序员Delton”介绍,《舰娘国服》的官网并没有ICP备案,也没有文化许可证;而在其网站上短暂显示出的ICP备案与文化许可证也均与原公司不符,其实“整个网站就是一个非法网站”。

        以下为该程序员所发布的原文:

        《一个杂耍演员的闹剧——舰娘国服》

        作者:程序员Delton

        说好来给大家讲故事的。

        这件事要从一个月前近两个月的时候有个网友给我看了个奇葩的游戏,就是今天的主角“舰娘国服”,所谓国服,其本质是私服。熟悉Flash的同学我想都很清楚,Flash的ActionScript作为一个脚本语言,反编译基本不会遇到任何问题。这个游戏就是通过反编译DMM的舰队Collection游戏后建立的一个私人服务器。作为一个私服,无论在哪里就是一个小众低调的存在。我在网站逛了一圈之后也摸清了这个网站的基本性质,基本是一个个人作品。网站无论在登录还是验证码系统都存在严重的漏洞,但是考虑到舰娘国服是一个小众自娱自乐的东西也没有多想。

        当时发现的几个漏洞现在我也可以来说说:

        首先密码明文上传,通过抓包可以直接获取到明文密码。网站是HTTP非加密传输的,再加上密码不哈希直接上传基本属于作死行为,任何一个在同一网络或传输的任何一个路径都可以轻松获取到用户的账号和密码。

        第二个漏洞是验证码的生成漏洞,验证码生成器只生成一组四位数字,数字的字体、大小、形状都、位置没有变化,一个简单的算法就可以实现100%识别率的自动识别。

        第三个漏洞是验证码的验证漏洞,验证码由一个名字为athlon的Cookies控制,不受时间影响也不受使用次数影响。只要锁住Cookies发送验证码,次发送都可以绕过验证码。至此验证码系统基本属于没有作用的状态。

        但是依然是没有多想,因为如果是一小群人自己玩玩,安全没做好也完全是可以理解的。

        问题就发生在2015年1月14日。百度 舰队Collection 贴吧原吧主突然集体消失,此后空降了一位名叫Athlon18的吧主。吧主上台后大肆删帖,并将贴吧作为自己所谓“国服”的宣传。网传(未证实)是斥资70万人民币购买下的吧主。有人曾洗地说,此吧主和舰娘国服没有关系,我想这点是不可能的。我们来看一下这位吧主的ID,我们再来看看我一个月前找到的控制验证码的Cookies的变量名。显然是将开发者名字作为变量名的做法(而且此做法非常不科学,基本可认为只是个人小作坊才干得出的事)。并且该游戏称将于15日公测,至此整个事件的性质发生了变化,也是我决定插手的因素。

        许多人可能支持在此事发生之后立刻采取DDoS的攻击策略,这是我所反对的。因为DDoS的前提还是要认清对方服务器的配置、数量和性能,不要打无畏的资源消耗战。根据之前发现的验证码漏洞,我们可以通过批量发送验证码正确,但用户名密码错误的POST强制对服务器的数据库进行大量查询工作,这样的效率会高很多。

        于是当晚发布了 《舰娘国服数据库压力测试工具》 和使用方法。截止目前下载量已破万,并且还有许多人盗链搞了镜像站(不过我不怪你们)。为了安全起见,以免有人说我在程序中埋入后门程序,我将程序源代码发布至GitHub。截止至14日凌晨登录服务器已经出现不能访问的状况。

        但是并没有结束,当天下午有黑客通过猜测,发现/kancolle/admin为官网CMS的后台,并且发现使用的是Duxcms 1.1.0作为框架。一开始使用了默认用户名和密码 admin/duxcms 登录成功。这就是大家首先看到的登录界面的标题被换的事情。

        

        标题先后两次被换,管理员登录后修改了密码并且关闭了直接修改/inc/文件夹的权限以防止标题换。

        第三次被攻破CMS是Duxcms漏洞和社工库的帮助。Duxcms在登录时的返回会提示是用户名不存在还是密码错误。所以在猜测后,发现了第二个可以登录后台的用户名athlon,经过社工库查询密码为qia**i(开发者真名的缩写)。这是第三次被,但是由于/inc目录被锁,接下来就是大家看到的各种奇奇怪怪的公告的出现。

        

        

        先后有六七次。但是再后来管理员更换了密码,使后台一度安全。

        但是不久之后就被发现Duxcms 1.1.0版本存在SQL注入漏洞,使得可以不需要用户名和密码登录。这时候事情就变得更复杂,出现了如下的公告,

        

        这之后先后有多个黑客发现该漏洞导致网站公告栏一度陷入了混乱。之后管理员出现将整个网站的/admin目录转移使得网站直到第二天都比较安全。

        但是SQL注入的出现使得刚刚的漏洞的暴露期间可能出现了其他许多问题。比如说泄露用户数据。虽然官方曾出来洗地说数据没有泄露,

        

        但是事实上已经有黑客晒出了充值记录图(据称是利用了Duxcms的漏洞,验证过按照其说法确实可访问):

        

        还记得吗,我一个多月前就发现过这个网站是明文上传密码的,就不能排除也是明文存储的密码。并且SQL被注入成功等事件的出现,用户的用户名密码是否被泄露至今还是一个谜,但一旦被泄露,造成的影响是不可设想的我想这点大家从CSDN、7k7k等很多事件中都有了无数的了解。所以各位用户还是保持好警惕,此事我也会跟进是否有库流出。

        第二天,网站在延后4小时后毅然开始了公测,随着公测IP的外泄,基于新服务器的DDoS开始了新的一轮,并由于多个其他黑客开发的更方便使用的几个工具的出现(尤其是那个支持多线程的网页版出现后),攻击效率在此发生质变,网站此后再无法正常登录。

        并且网站被发现没有ICP备案,一度显示的ICP备案和公司不符,没有文化许可证(之后网站显示有了许可证,但是许可证属于深圳一公司而非先前显示的北京公司),整个网站就是一个非法网站。不知道各位有没有办过ICP备案。凡是要进行备案的网站必须是没有在运营的网站。。。所以舰娘国服现在什么都敢搞,为了文化许可证去搞了联运(虽然不知道是不是也是假的)。但是ICP是办不下来的,它就是非法网站,没有第二个定义。网友也及时多次对该网站域名向国家多个部门进行了举报。最后不知道是DDoS的压力还是有关部门的压力,网站于当晚6点下线,经测试全球都无法正常访问首页了。

        至此,此时发展到首个阶段性胜利。

        那么我们来小结一下这件事吧,这件事究竟是个什么样的东西呢?就我个人的感觉,这就是一个杂耍演员的闹剧。说是杂耍演员说的就是这位名字叫Athlon的程序员。据称该程序员以前就写过一些游戏脚本,事实上也确实如此。对服务器的安全意识极度薄弱,基本不会任何形式的优化,网站开发过程中代码也是各种牵强和随性。我记得第一次看完网站代码时我就说,这代码写得和杂耍似的,这样的程序员放之四海都不会写出好程序。

        更不可思议的是,如此一个弱智的产品更是敢于把自己推向风口浪尖,去空降一个贴吧吧主去(不知道背后到底有没有70万,甚至说背后有推手将他推向这个风口浪尖),引发众怒后的后果是不可想象的。大家想一下,舰队Collection的用户日本服务器对用户限制就很麻烦,能很顺利通过这些限制玩上这个游戏大多也有些计算机水平。这些人中更有藏龙卧虎的大佬。整个事情从开始攻击开始事情发展的命运就已经被决定了,一定是一边倒的结果。

        一个三流程序员编写的三流服务器被一群一流黑客攻击从开始就不会有好下场。

        不作死,就不会死。(来源:新浪游戏)