网页游戏的攻击与防御

[导读]网页游戏的安全问题,在刚入职接触的时候,写过两篇比较浅显的文章《网页外挂防御有感》和《网页游戏常见外挂原理及防御》。算算时间,距离现在也有一年多了,虽然页游安全总体上并没有显著变化,没有新的攻击方法,也没有新的防御方法,我个人的工作重心也

网页游戏的安全问题,在刚入职接触的时候,写过两篇比较浅显的文章《网页外挂防御有感》和《网页游戏常见外挂原理及防御》。算算时间,距离现在也有一年多了,虽然页游安全总体上并没有显著变化,没有新的攻击方法,也没有新的防御方法,我个人的工作重心也由页游安全转向了手游安全,但出于完美主义的偏执,还是希望写一篇覆盖完整的页游安全文章,希望能给页游产业一点帮助。

大纲

—————————————————————————————————————————————————-

一、协议安全(swf安全):自动封包 (重点)

二、自动游戏+加速

三、内存安全:内存修改

四、存档安全:存档修改

五、帐号安全/充值安全:盗号/低价充值

正文

—————————————————————————————————————————————————-

一、协议安全(swf安全):自动封包 (重点)

页游,最最核心的就是客户端(swf)与服务端的游戏通信了。游戏通信产生的封包,内容是否可识别,可篡改,可重放,处理逻辑是否有漏洞,都决定了这款游戏是否有重大的漏洞。

我们知道页游前端和后台的通信一般有两者方式,一种是http连接,一种是socket连接,前者适用于小型页游,例如内嵌在QQ平台的QQ农场,后者适用于大型页游。

不同的通信方式,产生的数据包格式也不一样,像HTTP AMF的可以使用charles来抓包查看,像sockets的可以使用WPE抓包查看。

以socket 通信为例,协议采用自定义格式,一般由两部分组成,包头与包体,包头一般是固定长度,包体为可变长度。包头一般是一些基本信息,例如包长度,版本号,命令号,用户ID,序列号等;包体就是操作命令对应的接收参数,参数个数不同,参数类型不同会导致包体长度不同。

只要摸清楚协议算法,即包是如何生成的,就可以构造数据包与服务器自由通话,这一后果是非常严重的。自由通话意味着你不需要老老实实的在客户端操作,一条数据包就能代替你一连串的操作,例如发送一条数据包完成一个任务,常用于快速升级,淘宝上的页游代练绝大多数都是采用的这种方式;自由通话更意味着你可以绕过客户端的逻辑判断,传任意参数给服务端。

说到这里,你可能觉得只要服务端能正常处理来自客户端的参数,不出逻辑错误,不出配置错误,就万事大吉。这种想法很常见,例如上海宝开公司的某个开发就说过,我们的游戏逻辑判断都在服务端,我们没有外挂。我推测这个人应该不怎么上外网。

作者:秩名 2012-11-12

网友评论
人物专访
一语中的 发人深省时评观点
数据分析
任天堂16-17财年前三季度财报:纯利润1029亿日元
任天堂16-17财年前三
2016二次元手游:79%自研 66款进iOS畅销前100
2016二次元手游79%自
Top10游戏企业自研手游流水611.5亿 腾讯网易占51%
Top10游戏企业自研手
移动游戏
过去10年移动游戏大规模发展 未来10年势头仍将延续
过去10年移动游戏大规
Pokemon GO升级后调整玩法 将看不到口袋妖怪足迹
Pokemon GO升级后调整
AppAnnie移动应用趋势预测:手游电竞需求将增长
AppAnnie移动应用趋势
企业风采
乐逗游戏亮相GDC 推动全球游戏产业发展
乐逗游戏亮相GDC
第七大道七年纪:创始人曹凯感恩回馈离职老员工
曹凯感恩回馈离职员工
游族网络陈礼标:立足精品原创 布局全球市场
关于40407 | 友情链接 | 广告服务 | 联系我们 | 网站导航 | 网站招聘
网站备案:沪ICP备19024260号-2 上海随玩网络科技有限公司
Copyright © 2009-2014 www.40407.com