随着游戏玩法越来越复杂,单一上下行协议在部分场景下无法准确的描述玩家的状态,于是客户端采取了协议组来告诉服务器更多的信息。很多时候,服务器未对这样一组组协议的顺序,频率,完整性等方方面面做校验,导致了各种各样的问题产生:
某游戏对局房间中,当玩家更换装备时,服务器并不知道玩家更换了哪件装备,于是将玩家整个装备信息下行广播到所在房间中的每一个玩家的客户端,客户端调用引擎进行装备的特效渲染。于是漏洞可能就产生了,恶意玩家在短时间内高频重发同步状态的协议,导致了对方客户端在渲染特效时消耗了大量的资源而导致游戏卡死。
某游戏中具有一套序列的UDP数据包,数据包中有一个字段每次随着数据包发送,递增1,于是漏洞可能又产生了,恶意玩家去人为修改这个数据包中的标记顺序,导致一个房间的所有玩家全部退出(炸房)