-
-
[原创]游戏漏洞挖掘之边界条件风险
-
发表于: 2018-1-18 14:34 2161
-
边界条件带来的风险定义:
前一篇文章提到了时间竞争给游戏带来的风险,其实时间竞争也算是一种边界条件,只不过他的表现更为特殊和具有代表性。游戏中的边界条件被设定往往用来限定角色的部分状态或行为。任何利用边界状态上的判定疏忽,突破游戏内限制来获取收益的都可以成为边界条件造成的风险。
边界条件产生的漏洞危害:
可以来看一则游戏案例:
某游戏在开启宝箱后,获得的物品数量是随机的,有可能会获得一件极品的装备,有可能会获得好几件装备的材料,此时你将自己人物角色的背包栏物品放满,只留一个空栏位格子,这个时候再去开启宝箱,奇怪的事情发生了,你所有开出来的材料均因为无法放入背包而导致开箱子失败,而只有当你开出那件极品装备时,才会开宝箱成功,利用这个漏洞,你可以100%开出自己要的那套装备。
同样是背包中发生的问题,某游戏背包中同类物品是可以叠加的,如下图:
但是装备在分解时,产生的材料是随机的,于是,漏洞又产生了,此时将物品栏装满,在额外装入你想要分解出来的物品,此时进行装备分解,如果分解出新物品,则会提示因为没有多余的背包空间而分解失败,直到分解出你想要的材料。
将边界条件可以简单归纳如下:
边界条件带来的风险很高,而且在弄清楚原理后,利用方式又很简单,加快了游戏漏洞的传播速度,在玩家非法获得高收益的同时,也破坏了游戏口碑。
边界条件产生漏洞的原因:
边界条件产生的原因也很复杂,触发场景往往需要游戏内达到一些边界条件和状态极值,而服务器恰巧没有对这样的极值进行校验和判断,导致了逻辑上的错误。也正是因为触发条件比较苛刻,所以边界条件产生的漏洞验证方法没有固定的一套方法,只能根据游戏的表现和协议交互的逻辑,去推测在边界时可能产生的风险,并大胆的去验证。
*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课