12558网页游戏私服论坛

 找回密码
 立即注册
游戏开服表 申请开服
游戏名称 游戏描述 开服状态 游戏福利 运营商 游戏链接
攻城掠地-仿官 全新玩法,觉醒武将,觉醒技能 每周新区 经典复古版本,长久稳定 进入游戏
巅峰新版攻 攻城掠地公益服 攻城掠地SF 新兵种、新武将(兵种) 进入游戏
攻城掠地公 散人玩家的天堂 新开 进入游戏
改版攻城掠 上线即可国战PK 稳定新区 全新改版,功能强大 进入游戏
少年江山 高福利高爆率 刚开一秒 江湖水落潜蛟龙 进入游戏
太古封魔录 开服送10亿钻石 福利多多 不用充钱也可升级 进入游戏
神魔之道 签到送元宝 稳定开新区 送豪华签到奖励 进入游戏
神奇三国 统帅三军,招揽名将 免费玩新区 激情国战,征战四方 进入游戏
龙符 三日豪礼领到爽 天天开新区 助你征战无双 进入游戏
王者之师 免费领豪华奖励 免费玩新区 6元送6888元宝 进入游戏
三国霸业 战车-珍宝-觉醒-攻城掠地SF-全新玩法 免费玩新区 攻城掠地私服 进入游戏
手游私服盒子 各类免费游戏 0.1折送海量资源 各类手游私服 进入游戏
皇家MU2 《奇迹 2:传奇》韩国网禅公司《奇迹》正统续作。 3D锁视角Mmrpg 暗黑3+传奇+流放之路+奇迹 进入游戏
查看: 513|回复: 0

【原创】游戏漏洞挖掘之时间竞争风险

[复制链接]

345

主题

345

帖子

700

积分

实习版主

Rank: 7Rank: 7Rank: 7

积分
700
发表于 2019-8-20 11:04:23 | 显示全部楼层 |阅读模式
注:本文部分内容参考《网络游戏安全揭秘》-第5章节,“游戏中的时间状态和bug“ 编写时间竞争风险的定义:众所周知,网络游戏是大型分布式程序的先例,一个游戏,往往配置了成百上千的服务器去存储游戏玩家的各个信息,如帐号信息,财产信息,邮件信息……当成千上万台游戏客户端在不停的向各个服务器发送大量请求时,服务器如何精准的确定每一个客户端端状态并进行同步就面临着一个很大的问题——竞态条件。
竞态条件是游戏中漏洞的来源之一,而时间竞争在众多竞态导致的漏洞中又占了很大一部分。在了解什么是时间竞争风险之前,先来理解什么是时间竞争。
举个简单的例子:A和B有一天约在某小镇的电影院见面,但是因为疏忽,他们忘记了这个小镇有2个电影院1,2,等到了约定的时间,A去了电影院1,B去了电影院2,结果A和B均没有等到对方,这个时候,A和B均想起来,这个小镇还有另外一个电影院,于是,A乘车去了2,B又乘车去了1,结果,他们有一次失之交臂。从上面的实例中可以看出,时间和顺序在里面起了很大的执行作用,于是可以简单的将由不恰当的执行时序导致了非预期的执行效果,称之为时间竞争带来的风险。
时间竞争风险:时间竞争概念较为抽象,可以先来看几个具体的实例:某游戏你正在激励的排位厮杀,但最终还是因为自己一不小心,被对方一套连找到打成残血,就快要输掉这场比赛了,你心里很不甘心,这可是你的定级赛啊,于是你利用游戏漏洞,直接退出PK至选择角色不虚弱和无处罚(地狱模式),此时你的中途退出不会收到游戏的处罚,你可以继续匹配定级某游戏中的技能可以在决斗场中控制对手无法移动,在你与对方PK时,发现招架不住对方的进攻,于是,你对他使用了控制技能后,立刻强制结束进程,此时对方会被你的控制技能一直定住,除非自己认输比赛或者也强制退出游戏。
某游戏为了保证玩家日活跃,推出了奖励丰富的日常任务,但是无奈每天只能领取一次,可是你却可以利用漏洞,在领取任务后迅速推出游戏,然后在进入游戏后即可再次领取每日奖励… 时间竞争在游戏中风险很高,又因为在弄清楚利用方式后,利用又较为简单,有可能只需要关闭下进程,就完成了一次游戏中的漏洞利用,因此时间竞争带来的游戏漏洞传播速度很快,能在短时间内造成玩家大量使用获益,破坏游戏口碑时间竞争存在的原因:通过之前的定义,
可总结时间竞争风险存在的直接原因是:
1. 操作指令执行次数不止一条,或指令数不止一个
2. 操作指令执行时间出现异常客户端将不正确的操作序列发送到了服务器,异常有服务器产生,根本原因是服务器未对非预期的客户端请求进行处理,导致服务器逻辑出错。
为了更好的理解时间竞争导致游戏漏洞出现,在举出一个案例:某游戏内游戏币的充值时间线如下图所示:

如果弄清楚上述的协议交互(事实上交互远比上述要复杂,上述时序图为了表达简化了大量的协议交互过程),可以很清楚发现漏洞所在,当玩家付费时,可以立刻取消付费请求,但此时游戏已经将付费道具发给玩家了,那么玩家就可以无限支付,取消付款,来刷取道具了。时间竞争风险挖掘方式:时间竞争风险挖掘核心是分析在协议交互之间的关系,确定协议间是否存在逻辑上的疏忽。可以通过协议工具很清楚的分析清楚协议交互图,在进一步分析协议交互去分析服务器校验的逻辑,结合协议工具的协议屏蔽功能可以确认服务器校验逻辑是否存在问题。具体可参加下面的例子:某游戏的日常活动领取奖励时,通过协议测试工具,可以弄清楚协议交互如下:

在分析清楚协议交互后,可以很清楚的看到逻辑漏洞,如果最后一条协议——“标记日常奖励已经发放,日常任务结束”协议客户端没有收到,那么后续就可以再次领取日常任务。借助协议工具,直接将这条协议屏蔽,测试后果然出现可以无限刷日常的漏洞了。




*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
来源:http://www.12558.net
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
楼主热帖
回复

使用道具 举报

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|12558网页游戏私服论坛 |网站地图

GMT+8, 2024-11-24 13:59 , Processed in 0.078125 second(s), 31 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表