如何扫描网站的漏洞攻克网络游戏的漏洞

对文章打分
10岁少年女黑客发现社交网络游戏中的农场漏洞
阅读 (42218) 评论 (10)
阅读 (28575) 评论 (7)
阅读 (22677) 评论 (9)
阅读 (42230) 评论 (10)
阅读 (40388) 评论 (5)
阅读 (36037) 评论 (9)
Advertisment ad adsense googles cpro.baidu.com钻网络游戏的漏洞(1)
作者:Greg Hoglund 和 Gary McGraw
【翻译声明】
1.翻译纯属自娱自乐,非商业行为(for non-commercial
use!)。翻译居然花掉一整天的时间,这是事前低估了的。原文链接:。这篇文字为Exploiting Online Games一书的章节摘录。
本人非黑客专业人士,因此欢迎指正和讨论本文各种类型的翻译错误和问题。
2.原网站Gamasutra的声明强调它之所以刊出原书摘录,只是为了让游戏开发者了解一下游戏作弊技术,并不鼓励实际中使用这些技术。
我国也已经有与“外挂用于商业牟利”相关的(昨天的新闻)
技术本身并没有好坏之分。但是黑客的魔力总是会诱惑一些“技术魔人”和一些“商业头脑疯狂”的人(后一类人又往往是把技术拖入深渊的“导师”)。
3.关于游戏公司的反外挂措施侵犯隐私之类话题的讨论,请参看“”(永远不要相信客户端)
数据,数据---数据无处不在
一个软件程序,有两种东西可以被更改:代码和与代码相关的数据。(如果非要把问题稍微复杂化一点,那么,
代码本身无疑也是存储数据的一种类型)。基本上,所有的东西都仅仅只是数据---许许多多精心设计的1和0的排列组合。对网络游戏的黑客来说,具备这种意识,意义十分重大。
任何发送到游戏客户端的数据都可以访问或修改。一旦数据存在于客户端,它们就是你的囊中之物(供你处理和操纵)---甚至包括一些你本不应该看到的数据。举个例子,如果游戏客户端辨识出一瓶隐藏的神秘魔法药剂的位置,那么那些数据一定存放在游戏客户端的某个地方,即使该数据在你的用户界面上根本看不到。更有趣的是,这些游戏数据可以被操作和修改很多次。比如,如果某神秘的魔法药剂离你的游戏角色太远,或许你不断修改它的位置坐标就可以最终让它老老实实的出现在你面前的地上。
游戏客户端通过用户界面向游戏玩家展示信息。然而,界面仅仅展示了客户端软件所处理信息的一部分---这部分是设计者期望玩家看到的。软件内部其实通常蕴含更多的信息。假如有一瓶魔法药剂,该药剂有力量(strength)、威力(power)和持续效果时间(duration)等属性。从代码运行的内幕来看,则是一个软件程序管理着这瓶药剂。在我们的例子里,规定如果魔法药剂的力量值大于100,你喝了就可以获得一个额外的奖励(bonus)。当你点击“喝”的按钮时,软件就会检查判断药剂的力量值,然后给予你奖励(但当且仅当奖励条件满足时才行)
如前所述,在游戏客户端软件层级结构的最底层,一切都只是数据。甚至软件程序本身也是以数据格式存储的。对药剂做判断的程序放在一个位置,而描述药剂力量值的数据则存储在另外一个不同的地方。这是一种典型的情形---可执行的程序字节放在一个远离其他数据的特殊内存区域。为了弄清我们的例子并且了解这一切的重要性,如果你想通过作弊的方式获得那笔奖励的话,你可以到内存中改变决定药剂力量值的数据。如果你把药剂力量数据值设置为大于100的某个数,那么当程序执行时(就是你点击了“喝”的按钮后),它就会给你的角色一个额外的奖励。要达到这个目的,你可以使用错误注射引擎(Fault
Injection Engine)或者调试器(debugger),甚至可能仅仅只需要手动把一个值写到相关内存区就行。
用户界面仅仅展示了客户端软件所拥有信息的一部分。不过有些时候你仍然可以了解客户端所包含的部分游戏内部的一些东西。这种情况下展示给用户关于魔法药剂的信息将会比平时更多。我们可以深入程序和数据了解更多。
以上讨论回避了问题的实质困难:找到药剂力量值存储位置的难度。这听起来有点像大海捞针,在一个单独运行的程序里有成千上万字节的数据,漫无目的的在数据海洋里乱找结果不会很理想。你需要一些指导来指引你需要找什么类型的数据,甚至更进一步,向你展示怎样使用这些数据。幸好,有不少工具和技术可供你使用。
首先,也是最重要的,明确数据的用途. 这里的“数据”要么是代码,要么是代码控制的操作数(在某些更复杂的情况下,两种情况都有)。如果这些二进制数据是代码,它们在某种情况下会被加载到CPU,然后被执行。大多数的反汇编器(Disassembler)可以发现这样的代码,并把它标记出来,之后反汇编器会显示其翻译出来的汇编语言形式的指令。图6-7显示当二进制数据通过反汇编器后,翻译出来的汇编语言的样子。
反汇编器处理二进制代码并生成如图所示的汇编代码。左列的数字代表机器码所在的内存地址,右边的列代表相应的汇编语言。
但是什么才是普通的数据呢(即非指令的数据)?如果你已经对代码进行反汇编,代码就可以提供数据位置的蛛丝马迹。图6-8表明代码正在访问内存地址为的数据。通过代码的构造方式,我们现在知道内存地址处存储有某种类型的数据。正如这里所显示的,许多代码包含大量类似的信息,有助于我们找到感兴趣的数据。
图6-8 如图所示。之前反汇编的代码访问了数据。
数据暴露和反制措施
很显然,你可以在任意目标游戏程序中随意查找和更换数据。不过请记住,游戏程序也是可以检索内存的。游戏可能采取一些反制措施,这些对策会检测与游戏原来的代码或数据不一致的改动(比如,通过使用完整性检测integrity
checking),它还可以扫描你写到内存的注入代码或者注入数据(采用“活跃恶意代码扫描”active malware
scanning)
我们前面提到的一些攻击技术包括:更改代码、调整数据、向游戏进程注入线程或者DLL(动态链接库)。所有这些举动都可能会被一些游戏软件探测到。一个最明显的例子是暴雪公司为了保护《魔兽世界》而使用的The
Warden(典狱官)。不过还是有一些办法可以躲过甚至击败许多形式的扫描(即使并非全部),只是其中有的办法可能会比较复杂。
静态数据,动态数据
有时候数据是静态的,也就是说,它存在你电脑的内存里。有时候数据是动态的,也就是说,它们通过网络连接在两个互相通讯的程序之间高速移动。如果你仅仅把目光集中在内存中的静态数据的话,你就会错过一半的乐趣。通过修改来来往往的数据包,你可以很容易的深度影响游戏的玩法,就像你在自己的电脑内存中更改本地的数据实例一样。事实上,如果你正确了解一个特定的网络通讯协议是如何工作的,你就可以用自己的独立客户程序来重写游戏客户端2。毕竟,你真正想要的是一个接受特殊输入和产生特殊输出的程序。
让我们说具体点:有时,仅通过嗅探到正确的传输数据包,你就可以判定神秘魔法药剂的位置,甚至不需要使用调试器,。图6-9
示例了这样一个嗅探器。该程序叫WoWSniffer,非常清晰的图示了其嗅探网络传输中聊天消息的能力。这一点非常有趣,因为网络上的通讯应该都是被加密过的。很显然,WoWSniffer的作者已经破解了加密信息。
图示为WoWSniffer程序运行在《魔兽世界》中。嗅探窗口显示的消息中有许多游戏客户端工作的内幕信息。
在其他地方寻找数据
在本书的其他地方,我们介绍了自动瞄准型外挂(aimbots)的原理。回想下这种外挂可以为玩家提供不可思议的、超人的瞄准精度。它探测敌人的3D坐标、精确计算你的武器可以击中对手的最佳角度。自动将你的狙击步枪对准对手的左眼眼眶,需要查找存储游戏中被渲染对象3D坐标的数据。
自动瞄准型外挂特别有趣的地方是它们不是仅仅寻找游戏程序的数据,而是利用数据与显卡之间的数据交互来入侵。显卡都有自带的存储器(显存)用来存储渲染3D对象的数据结构(玩家对拥有最新的图形技术来玩他们的游戏非常重视)。结果就是,瞄准型外挂可以利用存储在显卡上的3D数据来找到游戏世界中目标对象的3D坐标。---多有才啊!!
图6-10 展示了一个瞄准型外挂如何计算和保持所有将在显存中被渲染对象的拷贝的---即使那些对象不直接在显示区域内。要做到这些,外挂需要截取游戏与微软Windows系统Direct3D视频库之间的通讯信息。
图6-10 为了计算诸如敌人位置之类的东西,当这些3D坐标值被发送到视频子系统时,外挂如何截取它们的。
注2 这是我们的书Exploiting
Software中提到的“Make the client
invisible”攻击模式的一个实例。关于这个话题更多的信息请参考第9章。
该系列文章链接快速访问:
关于本文提到的人物:
1.Raph koster
2.作者之一的Greg
:软件安全领域的先驱者。HBGary公司的CEO,该公司提供领先的软件安全认证服务。他是最早的网络漏洞扫描器之一的编写者(该软件在半数以上的财富500强公司中安装)。之后他编写了第一个基于Windows
NT的rootkit并撰写了文档,同时创建了rootkit.com网站。经常在Black
Hat、RSA以及其他安全会议上作演讲。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。怎么找一些网络游戏的漏洞_百度知道
怎么找一些网络游戏的漏洞
我有更好的答案
这个需要细心的发现的,否则就是你技术够硬。一般的游戏不会又太多漏洞的。再内测时就已经把易于发现的漏洞补上了。而且还有专门查找漏洞的软件测试过的
采纳率:67%
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。扫描或点击关注中金在线客服
使用财视扫码登陆
下次自动登录
其它账号登录:
利用游戏漏洞 玩家3天赚了17万元?
重庆商报 
字体:&&&&中金在线微博微信
扫描二维码
中金在线微信
  500)this.width=500' align='center' hspace=10 vspace=10 />500)this.width=500' align='center' hspace=10 vspace=10 />商报图形 王若静 制&&&&“地下城与勇士”是一款2D横面的格斗游戏,在2013年网络游戏百度搜索风云榜中,排行第三名,深受玩家青睐。然而,就是这款异常火爆的游戏,前晚却曝出其中竟有漏洞,有玩家利用漏洞狂刷游戏币赚钱!
  前晚,有网友发帖称,有玩家利用“地下城与勇士”游戏的漏洞,狂刷游戏币,然后套现,获利颇丰。其中甚至有玩家自曝,3天就赚了17万元!是否真有此事?记者昨日展开了详细调查。
  游戏服务器将维护
  玩家曝出刷币漏洞
  前晚20时18分,有网友在多玩DNF论坛中发帖称,当晚20点09分左右,他在玩“地下城与勇士”游戏时,突然卡了一下,随后就看见不少玩家都掉了线。开始,他以为是游戏维护,但发现游戏中出现了诸多不正常的情况:如好友列表和工会中都没人,掉线的玩家也无法再登录游戏,而游戏的交易系统也处于紧急维护中。
  该网友怀疑,这次异常现象,其实是由该款游戏的“云幂袖珍罐”道具存在漏洞,有人狂刷游戏币导致的。这也是这几天游戏币急剧贬值的原因。记者发现,仅1天时间,该帖浏览量就高达21万人次,在玩家中掀起轩然大波。
  该漏洞到底是什么?记者调查发现,“云幂袖珍罐”这个游戏道具,可以开出2件一样的游戏装备,还有极少几率开出游戏币,开出的装备不值钱,但如果开出金币了,则分为5000万、8000万以及1亿游戏币。而1亿游戏币,按正常市场行情,可在交易网上卖400多元人民币。
  据玩家称,在游戏中,角色的装备是需要用包裹来存放的,不过目前角色的包裹最多只有48格,也就是只能存放最多48件装备。漏洞就是利用包裹的有限空间,存放47件装备存放满了又无法开罐子,只留下一格空位,而在开“云幂袖珍罐”出装备时,就会因包裹空间不足,而导致开罐失败,而罐子还存在。玩家继续开罐,直到出现金币,但金币不会占据包裹的空间,因此开罐成功,然后罐子消失。发现这个漏洞后,部分玩家狂刷游戏币,然后马上在第三方交易平台出售游戏币,兑换成现金。
  3天“赚”了17万元?
  玩家截图晒“战果”
  前晚22时57分,一网友也在多玩DNF论坛中发帖,还配了一张游戏截图。记者发现,图中的玩家利用游戏漏洞,刚好开出了1亿游戏币。其他网友纷纷回帖称,利用游戏漏洞刷钱,会被永久封号。不过,发帖者不屑一顾地回复:“封一个号才多少钱嘛,据说有人3天赚17万元。”
  记者随即与这名发帖的网友取得了联系。发帖者表示,玩家利用该游戏漏洞3天赚17万元一事,他也是在自己的群里看见的。具体是谁发布的消息,他表示不方便透露。
  昨日凌晨,见游戏维护完成,记者也进入了该款游戏的重庆区,发现不少玩家正在谈论此事。记者与其中一名自称刷过钱的玩家取得了联系,他表示,自己因为害怕被封号,所以只刷了5000万游戏币。不过,他的朋友却利用该漏洞刷了几十亿游戏币,赚了1万多元。当记者索要其朋友联系方式时,被他拒绝。
  随后,一玩家在游戏中表示,自己刷了大量游戏币,并公布了自己的QQ群。记者随即加入该群,发现群中已有300多位玩家,不少玩家还在询问刷钱的方法。通过与群主私聊,群主当即截图向记者展示“战果”。记者发现,他的游戏账号中,共有50亿游戏币,同时还有价值人民币6500元的游戏点卷,以及价值数亿游戏币的游戏物品。群主表示,他这几天赚了2万多元,还询问记者是否需要收购游戏币。发现记者只是关心游戏漏洞以及出售游戏币的详情时,群主将记者踢出了群。
  记者发现,不少玩家都在论坛、贴吧等地方,晒出了自己刷过游戏币的截图。
  网友发帖算细账
  一台电脑一天可赚7000元
  游戏漏洞是何时出现的?3天赚17万元,此事是否真有可能?
  有玩家透露,游戏漏洞应该是从上一次8月22日早上服务器维护后,被人发现的。
  随着此事逐渐升温,一网友也发帖算了一笔账:一个普通的游戏工作室,假设有30台电脑,每台电脑一天用2个游戏账号来刷“云幂袖珍罐”,那么,一个号平均每天至少可刷10个,每个号就至少10亿游戏币,一台电脑一天可刷20亿游戏币。20亿游戏币,按照前几天的市场价,可卖七八千元。一台电脑按7000元算,那么在理论上,该工作室一天就可赚21万元。如果游戏工作室电脑越多,赚的钱还会更多。
  记者调查发现,部分玩家一般一个人就有十余个游戏角色,如利用所有时间来刷钱,那么他每天都可赚5万元以上,3天赚17万元,完全有可能。
  事件影响
  有人称账号已被误封
  有人赚了钱逃过一劫
  因受此次该款游戏漏洞风波的袭击,记者昨日在网络交易平台上发现,原本1元钱只能购买23~26万游戏币,此次事件发生后,竟可购买50多万游戏币。不少不知情的玩家,贪图便宜购买了大量游戏币。
  据了解,此次漏洞风波出现后,导致不少玩家开始恐慌。一方面,一旦游戏回档,自己近几日投入的金钱、时间、努力等,都将付诸东流。而另一方面,购买了黑金的玩家,也可能被封号。一位河北的玩家就表示,自己25日购买了2000元的游戏币,昨日上线就被封了。而相对地,有部分自称刷游戏币赚过钱的玩家则庆幸自己安全逃过一劫。
  官方行动
  发布公告承认漏洞
  有玩家已经被封号
  前晚21时30分,该款游戏的服务器全面进行维护。而昨日凌晨3时30分,服务器再次维护。此次,该款游戏的官方发布公告,承认是“修复通过满物品栏从云幂的袖珍罐获得金币的bug”游戏漏洞。
  不少网站都还在转载,称此次游戏漏洞事件的处理办法为:部分使用bug严重的大区进行回档处理该服务器大区的所有角色恢复到某一个时间点之前的状态,使用恶意bug的账号永久封停。同时,网站还提醒玩家近期不要购买游戏币,防止被误封。记者随后通过论坛,以及询问玩家本人,发现不少利用游戏漏洞刷钱的玩家被永久封号。
  记者随即与QQ官方联系,工作人员表示,利用该款游戏漏洞的玩家,一经核实,将根据影响情节对违规账号进行相应处罚。不过,至于回档的处理方法是否执行,还需要留意官方以后的公告。
  律师说法
  利用漏洞赚钱是否违法
  正常玩家权益如何保障
  对此,重庆美旗律师事务所律师黄路武表示,2009年,一名玩家曾通过编写外挂程序,篡改《梦幻西游》客户端软件,从而利用游戏漏洞刷取大量游戏币,并将刷取的游戏币置于第三方交易平台出售牟利,非法获利320万元,最后被判刑10年。而在“地下城与勇士”发生的此次事件中,玩家利用漏洞刷钱,也是类似违法行为。后果严重的,可处5年以下有期徒刑或者拘役;后果特别严重的,将处5年以上有期徒刑。
  而对于购买了黑金的玩家,被误封号,或者回档导致购买金币丢失的,要区分情况对待,因贪图便宜以明显低于正常交易价格购买金币的,很难获得法律保护。记者对此还咨询了第三方交易平台客服,工作人员表示,除非买家购买了保险,否则不会赔偿损失。
  不过,黄路武律师表示,运营商应当对其产品本身的系统漏洞承担责任,为此给其他正常游戏的玩家造成的损失应当予以赔偿。
中金在线推出"微行情"服务啦!关注中金在线微信,您可以随时随地发送股票名称、简拼或代码,1秒便可查到最新行情;发送"黄金"、"白银"、"利率"查询贵金属报价和基准利率。快试试吧!
微信关注方法:1.扫描左侧二维码;2.搜索"中金在线"(cnfol-com)关注中金在线微信。
我来说两句
24小时热门文章
栏目最新文章
频道文章精选
赞助商链接
赞助商链接
中金在线声明:中金在线转载上述内容,不表明证实其描述,仅供投资者参考,并不构成投资建议。投资者据此操作,风险自担。
微信扫描二维码,体验微行情服务,速查股票、利率、贵金属行情}

我要回帖

更多关于 黑客如何发现漏洞 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信