【漏洞潜在风险】弹框干扰类风险

弹框干扰风险定义:

   游戏过程中,客户端经常会以文字类形式对玩家进行说明和指引,而对于一些更为重要的信息,便会用游戏中的弹框进行强调。由玩家主动触发对其他玩家造成重复弹框进而干扰到正常游戏的都可以称之为弹框干扰类风险。

弹框干扰风险危害:

   很多玩家在想,游戏自身就提供了弹框,如果出现了弹框点掉不就好了?能有什么风险呢?我们来看看以下场景:当你在游戏过程中,正在操作着角色时,突然间出现了一个弹框

在这里插入图片描述
而此时你的任何按键,鼠标点击,均因为这个弹框而失效,你的一次次操作全部失效,角色头顶上显示一个个miss的提示,你只能去点掉这个弹框,而对于这种即时操作类竞技游戏,最终因为正常游戏操作受到极大干扰而输掉比赛。

   当你在某游戏排位赛的时候,正在聚精会神的盯着屏幕观察战局时,突然屏幕中间出现了下面的弹框

在这里插入图片描述
此时别说你的操作了,你连敌人都看不到,输掉比赛就顺理成章了
更有甚者,在你没有进行竞技类游戏操作的时候,他也给你弹框,让你根本无法正常游戏,以达到他勒索的目的(下图为某游戏玩家因受到弹框勒索而进行投诉)
在这里插入图片描述
由此可见,看似寻常的弹框类风险,稍加利用便可以对游戏和玩家带来极大的影响:

极大的影响游戏平衡:在竞技类游戏中,通过弹框干扰其他玩家正常游戏,最终让其输掉比赛或自己获得收益

极大的破坏游戏口碑:玩家受到弹框干扰,无法正常游戏,极大影响游戏体验,破坏游戏心情,引发游戏玩家的不满和吐槽,最终破坏游戏口碑

弹框风险可进一步演化成游戏内的敲诈勒索风险:利用弹框无限干扰其他玩家以达到自己的需求(勒索其他玩家向其支付游戏币或游戏道具等)
弹框干扰风险存在原因:

结合游戏弹框案列, 无限弹框之所以能成为漏洞,首先需要具备2个属性,一个是可以干扰到玩家游戏,如果弹框对玩家没有干扰效果,那玩家也不一定会去在意,第二个是可以无限进行触发,如果弹框触发了一次之后便再也不会出现或者隔一段较长时间才能触发,那对玩家的影响也不会特别大。结合这两个属性,可将弹框的成因进一步归纳如下:
在这里插入图片描述
弹框干扰类风险漏洞挖掘方法:

   根据上述原因分析可知,一般游戏内被动产生的弹框提示(比如游戏指引,玩法说明等)不受玩家控制,产生漏洞的可能性不高,而漏洞主要产生在由玩家触发的弹框中,如何分析提取弹框类协议中玩家标志字段是弹框干扰类风险挖掘方法的核心。

我们将一般弹框类协议格式大体如下:
在这里插入图片描述
漏洞挖掘的关键是,确认其中的玩家uin,并替换成你想要攻击的玩家,进行协议重发,观察服务器的反馈情况,具体参加下面例子:

某游戏在游戏比赛中存在着邀请玩家和拒绝玩家两条协议,案例情景为B向玩家A发送邀请,玩家A拒绝了邀请,拒绝协议经服务器至B。
大体协议交互为下图
在这里插入图片描述
利用工具,可将A玩家拒绝B的协议3和4截获,

协议3(A玩家拒绝B的上行数据包)的数据包截获为:

[BF 02 C0 F1 0c 00 BF 02 C0 A5 50 B1 A5 A0 B8 98 8D 02 00 00 00]

通过协议切割,可解析成

[BF 02 C0] 协议号

[F1 0C 00 BF 02 C0 ]

A5 50 B1 A5 :被拒绝玩家UIN(指玩家B)

A0 B8 98 8D :主动拒绝玩家UIN(指玩家A)

协议4(A玩家拒绝B的下行数据包)截获为:

[C0 02 C1 F1 0C 00 C0 02 C1 A0 B8 98 8D A5 50 B1 A5 02 00 00 00]

被协议工具解析成:

[F1 0C 00 C0 02 C1 ]

分析上述协议,如果我们将上述协议3多次重发,那么在游戏中,玩家B就会收到多个拒绝类型的弹框,而我们可分析得到其他玩家C或者D的uin, 替换到协议3中被拒绝玩家UIN字段里,那么就可以攻击指定的玩家了。

类似的,上述协议交互中,协议1协议2同样也会存在着被邀请玩家的UIN,我们可以替换成要攻击的玩家,并多次进行协议重发,就可以实现邀请类型的协议弹框了。

上述利用方法,可针对一般游戏进行测试,但是往往会遇到一些游戏做了协议重放校验,导致了我们利用工具重发失败。一般这种情况下,需要分析协议中是否含有类似与验证token,一般这个token属于一次性的,服务器校验通过则会使协议生效,而进行重放的话,每次的token都相同,服务器自然会主动丢弃。面对这种情况,则我们需要从协议发送点进一步向游戏逻辑层定位,定位到游戏逻辑层的对应代码,如下图:
在这里插入图片描述
上述是一个拒绝协议的逻辑函数,我们可以远程调用这个函数,并填写对应的玩家id,进行多次调用,因为此时游戏执行还未到组包函数,故调用对应函数会按照游戏自身逻辑组包,可绕过大多数协议重放的检测。

综上,可简单的将弹框干扰类风险的漏洞挖掘方法总结如下
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780795.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++项目——集群聊天服务器项目(六)MySQL模块

Hello,大家好啊,最近比较忙,没来得及更新项目,实在抱歉~今天就恢复更新拉~ 在验证完网络模块与业务模块代码可以正常使用后,需完成的操作是与底层数据库进行交互,为实现各类用户查询、增删业务奠定良好的基…

【笔记】Android U RILJ 中与运营商名称SPN显示相关的日志分析

源码阅读&#xff1a;AOSPXRef 常用日志关键字 Note&#xff1a;">"下发MD&#xff0c;"<"MD上报&#xff0c;[]中的id有请求和返回的对应关系 KEYComment> OPERATOR下发MD&#xff0c;请求运营商信息< OPERATORMD上报运营商注册信息> DA…

Java--队列

无界队列 public class Task implements Runnable, Comparable<Task>{private int priority; // 优先级别public Task(int priority) {this.priority priority;}// 当前对象和其他对象作比较, 当前优先级大就返回-1, 优先级小就返回1, 值越小, 优先级越高.Overridepubl…

【群晖】白群晖如何公网访问

【群晖】白群晖如何公网访问 ——> 点击查看原文 在使用默认配置搭建好的群晖NAS后&#xff0c;我们可以通过内网访问所有的服务。但是&#xff0c;当我们出差或者不在家的时候也想要使用应该怎么办呢&#xff1f; 目前白群提供了两种比较快捷的方式&#xff0c;一种是直接注…

【Python系列】合并配置文件的最佳实践

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

python实现两个Excel表格数据对比、补充、交叉验证

业务背景 业务中需要用到类似企查查一类的数据平台进行数据导出&#xff0c;但企查查数据不一定精准&#xff0c;所以想采用另一个官方数据平台进行数据对比核验&#xff0c;企查查数据缺少的则补充&#xff0c;数据一致的保留企查查数据&#xff0c;不一致的进行颜色标注。 …

脱壳之常用的加固样本特征

梆梆加固样本特征 清单文件入口 android:name“com.SecShell.SecShell.ApplicationWrapper” 特征 免费版 meta-data meta-data总结 assets/secData0.jar lib/armeabi/libSecShell.so lib/armeabi/libSecShell-x86.so 梆梆企业版 assets/classes0.jar lib/armeabi-v7a/libD…

第一次运行 Python 项目,使用 python-pptx 提取 ppt 中的文字和图片

人工智能时代&#xff0c;最需要学习的编程语言是&#xff1a;python 。笔者是个 python 小白&#xff0c;昨天花了两个小时&#xff0c;第一次成功运行起来 python 项目 。 项目是 powerpoint-extractor &#xff0c;可以将 ppt 文件中的图片提取出来&#xff0c;并输出到固定…

Date的Invalid Date

使用Date()构造日期对象&#xff0c;如果传入非日期格式或者错误的日期格式的字符串&#xff0c;仍然能构造出Date对象。 var date new Date("dream"); console.log(date:, date); //Invalid Date console.log(date:, typeof date); //“object” console.log(da…

js 拼接HTML时 onclick方法和传参报错[onject Object] 和 unexpected end of input`

Vue js拼接onclick事件 1.onclick 方法函数找不到2.方法中传参2.1 int 类型传参&#xff08;直接传参&#xff09;2.2 字符串类型&#xff08;需要加引号&#xff09;2.3 对象&#xff08;对象是不能直接拼接的。拼接的必须是字符串。因此需要将对象转成字符串。&#xff09; 1…

全量知识系统 之“程序”详细设计 之 “絮”---开端“元素周期表”表示的一个“打地鼠”游戏

全量知识系统 之“程序”详细设计 概述-概要和纪要 序 絮&#xff08;一个极简的开场白--“全量知识系统”自我介绍&#xff09; 将整个“人生”的三个阶段 比作“幼稚园”三班 &#xff1a; 第一步【想】-- “感性”思维游戏&#xff1a;打地鼠 。学前教育-新生期&#x…

js的Number对象和全局对象

文章目录 1. Number 对象1.1. 含义1.2. 属性1.3. 方法 2. 全局对象2.1. 含义2.2. 特点2.3. 属性2.4. 方法 3. 函数的本质 1. Number 对象 1.1. 含义 Number 对象是原始数值的包装对象。 const num 2.334; const obj new Number(num); console.log(obj); //Number console.…

Windows安装tomcat,以服务的方式管理,如何设置虚拟内存

之前工作中&#xff0c;部署tomcat都是使用Linux服务器&#xff0c;最近遇到个客户&#xff0c;提供的服务器是Windows server&#xff0c;并且需要通过服务的方式管理tomcat&#xff1b;以自己多年的码农经验&#xff0c;感觉应该没有问题&#xff0c;结果啪啪打脸了&#xf…

双向BFS

P1032 [NOIP2002 提高组] 字串变换 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 方法学自于B19 双向BFS 字串变换_哔哩哔哩_bilibili #include<iostream> #include<algorithm> #include<cstdio> #include<queue> #include<map> using namesp…

Adaboost集成学习 | Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列预测(股票价格预测)

目录 效果一览基本介绍模型设计程序设计参考资料效果一览 基本介绍 Matlab实现基于BiLSTM-Adaboost双向长短期记忆神经网络结合Adaboost集成学习时间序列预测(股票价格预测) 模型设计 股票价格预测是一个具有挑战性的时间序列预测问题,可以使用深度学习模型如双向长短期记忆…

python爬虫之selenium4使用(万字讲解)

文章目录 一、前言二、selenium的介绍1、优点&#xff1a;2、缺点&#xff1a; 三、selenium环境搭建1、安装python模块2、selenium4新特性3、安装驱动WebDriver驱动选择驱动安装和测试 基础操作1、属性和方法2、单个元素定位通过id定位通过class_name定位一个元素通过xpath定位…

【P1098】[NOIP2007 提高组] 字符串的展开

[NOIP2007 提高组] 字符串的展开 题目描述 在初赛普及组的“阅读程序写结果”的问题中&#xff0c;我们曾给出一个字符串展开的例子&#xff1a;如果在输入的字符串中&#xff0c;含有类似于 d-h 或者 4-8 的字串&#xff0c;我们就把它当作一种简写&#xff0c;输出时&#…

uView对比1.X

uView2.0与uView1.x之间&#xff0c;是有非常大差异的&#xff0c;1.x不能升级到2.x版本。 造成这个问题的根本原因是&#xff0c;2.x是一个重构版本&#xff0c;对1.x进行了整个架构的改造升级&#xff0c;摒弃了1.x中一些不合理的理念和做法&#xff0c;同时引入很多优秀的新…

飞书裁员提供补偿方案或者转岗机会

近期&#xff0c;飞书CEO谢欣发布了一封全员信&#xff0c;宣布公司将进行新一轮的组织调整&#xff0c;其中包括适当精简团队规模。这一决定是为了解决组织自身存在的问题&#xff0c;如团队规模较大但组织不够精干&#xff0c;效率降低&#xff0c;以及力量不够聚焦&#xff…

【OJ】动归练习五之子组串

个人主页 &#xff1a; zxctscl 如有转载请先通知 题目 1. 53. 最大子数组和1.1 分析1.2 代码 2. 918. 环形子数组的最大和2.1 分析2.2 代码 3. 152. 乘积最大子数组3.1 分析3.2 代码 4. 1567. 乘积为正数的最长子数组长度4.1 分析4.2 代码 1. 53. 最大子数组和 1.1 分析 一、…