游戏协议安全测试

协议测试是什么?

  测试人员通过第三方工具篡改游戏客户端发送给服务器的协议,达到测试服务器逻辑、挖掘游戏漏洞的一种测试行为,称之为游戏协议安全测试。

协议测试的作用是什么?

  协议测试的作用是测试服务器逻辑的漏洞,避免游戏上线后被外挂团队针对性的开发损害游戏利益的 “封包” 挂(外挂圈习惯将客户端发送给服务器的协议称为封包),比如下面列举的例子:
  1.发送负数,比如购买一个道具需要花一百金币,在正常的协议中,金币数是正数100,服务器收到后在用户的帐号中减去100,实现从用户帐号扣除金币。如果此时把正数改成负数,服务器如果没有做安全检查,直接减去负数,负负得正,等于变相的给用户帐户增加了金币,实现金币盗刷攻击。
  2.A申请B加好友,B点击同意A申请,录制B产生的协议,然后更改ID为其他玩家ID,可以实现强制加他人为好友。
  3.录制领取成就奖励的协议,将ID更改为没有完成的成就任务ID,发协议直接领取成功。
  4.之前还发现过导致服务器宕机的BUG。
  5.商店购买协议,将数量字段修改为 2147483647,发送协议后,钻石数量直接变为21亿。
等等,协议测试可以发现的BUG种类非常多。
 如果上述 BUG 在研发期间没有被发现,发布到外网,一旦被外挂团队利用,游戏将遭受重大经济损失,被迫回档,严重的甚至可以让游戏直接倒闭。换句话说,协议测试可以帮游戏公司挽回重大损失,跟利益直接挂钩,发现一个致命级别的可以挽回几万到几十万的潜在损失。

协议测试工具

  TcpEngine1.3.0向我们提供游戏安全测试的下列功能,

  1.截取网络数据,提供的功能是启动一个代理服务器,客户端和服务器之间协议都通过代理服务器转发。

  2.提供半编程的解析协议方案,游戏协议多数是字节流协议,解析规则非常方便的把字节流协议解析成正常数据。

  3.提供阻塞协议;单条转发;修改协议再转发等功能,安全协议就用到这部份功能,提供了对特定协议阻塞,并把正常数据修改成非法数据再转发,以实现对该协议的安全测试功能。

  更多详细教程请参考:https://www.cnblogs.com/tcp-engine/p/16512840.html

posted on 2022-08-05 09:50  工分一百  阅读(345)  评论(0编辑  收藏  举报

导航