吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 10596|回复: 25
收起左侧

[游戏安全] 【原创】游戏漏洞挖掘之任务类风险

[复制链接]
Gslab 发表于 2018-1-10 10:11
本帖最后由 Gslab 于 2018-1-10 10:13 编辑

任务类风险定义:
大部分游戏离不开任务,游戏往往也会借助任务,来引导玩家上手,了解游戏背景,增加游戏玩法,提升游戏趣味性。任务像线索,将游戏的各个章节,各种玩法,各玩家结合在一起。游戏离不开任务,但是开发者在设计任务时,也存在很多疏漏,导致任务类风险大量存在任何修改任务正常执行流程导致玩家可提升任务效率或收益的,都可以称为任务类风险。
任务类风险危害
上述定义中提到了任务执行的正常流程,我们可以从任务执行环节上先熟悉游戏正常的流程:
1. 任务执行前:获得任务领取条件,领取任务
2. 任务执行时:完成任务条件
3. 任务执行:交付任务,领取任务奖励结合上述流程,我们先来看几个案例 你辛辛苦苦完成了一个任务等级要求时,你却发现领取任务的NPC离你十万八千里,你需要传送,跑路赶过来领取一个任务,这时漏洞出现了,你在任何地点只需要利用下漏洞,便可以远程领取任务
你在执行任务副本时,发现需要打好久好久,太费时间了,这是利用漏洞,直接修改任务难度原本10分钟的副本任务现在只需要2分钟即可完成当你在执行连环任务时,需要层层挑战,才可以最终完成任务,这是你利用漏洞,直接从任务的第一关卡跳转到第三关卡,大大减少了任务的完成时间:

更有甚者,连任务根本都不用领取,也不用去执行,可以直接完成任务,获取对应任务奖励

还有一些任务因为高收益高汇报,被游戏限定每日只能刷一次,或者具备一定前提条件才可以领取,但是却可以利用漏洞,实现任务的无限完成和奖励的无限领取。总结上述案列,可任务类风险按流程和效果做以下划分

执行效果上看,任务类风险的危害简单归纳如下:
1. 极大的降低任务完成时间,提高任务完成速度
2. 非法获取或重复获取游戏任务中的大量奖励,提升玩家收益,影响游戏平衡
3. 极大促进游戏工作室游戏内大量刷任务等非法行为。


任务类风险存在原因:出现任务类风险的根本原因是服务器的校验疏忽,单单对任务最终结果做了校验,进而导致了任务的前置条件和执行过程出现了各种绕过,被多次利用可能。
任务类风险漏洞挖掘方法:结合上述原因分析,如何确定服务器的校验过程是任务类风险漏洞挖掘的核心思路服务器的验证一般均为黑盒测试,常见的方法便是结合猜想,去在协议进行重发屏蔽和修改。先来看看一般的任务协议格式和交互流程:一般任务请求/完成协议格式如下:
Clsid(协议ID)
Hash/ACK(hash/序列)
Others(其他)
NPC_IDNPC ID
NPC/Player_LocationNPC/请求者坐标
Player_ID玩家ID
ProtocolHead(协议)
ProtocolData(协议数据包)
Task_ID任务ID编号
Task_Attribute任务属性
Others其他字段
ProtocolData(协议数据包)
一般任务执行流程时的协议交互如下图

在大多数任务交互过程中,协议1,协议2,协议3,协议4是必不可少其他协议需要根据游戏具体逻辑进行分析确认,在验证过程中,针对上述协议进行重发,屏蔽和修改如果服务器校验不够严谨的话,则会触发相应漏洞。
下面案列进一步说明验证过程:游戏在一项挑战赛中有连环任务,玩家在连续完成7次挑战后最终完成任务,获得丰富任务奖励
接受任务时上行协议被工具截获如下:[01 21 00 00 00 00 00 36 04 00 E8 F4 68 21 00 00 f7 50 00 02]二进制数据被工具切割成如下:[01 21]:协议[00 00 00 00]:未知[00 36 04 00]:服务器ID[E8 F4 68 21]:玩家ID[00 00 F7 50]任务ID[00 02 ]:任务环节协议工具截获后,确认其环节数字段后,可将[00 02]修改为指定关卡,重发协议后,玩家即可进行第几次关卡挑战,如果直接改写为[00 07]进行重发,则可直接完成任务任务类风险验证需要大胆猜想,并结合协议工具进行分析验证,结合上述协议总结的协议交互流程,可以对任务类风险的挖掘常用方法做出归纳如下图:



*转载请注明来自游戏安全实验室(GSLAB.QQ.COM)

免费评分

参与人数 7吾爱币 +7 热心值 +6 收起 理由
ajia + 1 + 1 热心回复!
onexiao + 1 + 1 我很赞同!
wahx1314 + 1 这还是2016年的东西,现在这些都行不通了。已经过时了
小乖哟 + 1 + 1 用心讨论,共获提升!
shazidnf + 1 + 1 我很赞同!
春天的萌动 + 1 + 1 用心讨论,共获提升!
snccwt + 1 + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

xlhwxyh 发表于 2018-1-10 11:16
屁用,  你这要放在10年前发表出来,或许还有用,
现在想远程存仓,远程任务, 远程买卖?狗屁,
   
这些功能都会校验 npc的ID 号,玩家到NPC的距离,   
1,NPC的ID号你告诉我怎么取?  人物必须扫描npc列表,才能读取npc Id号,  好吧,你说记录一个保存下来,可这都每次重启后发生变动的,每次重启后ID号都改变,难道你每次都把所有npc跑一遍,然后记录?
这和跑着执行任务有什么区别?
2,玩家和npc距离校验咋办? 别告诉我改内存,游戏直接在服务器校验的,给你返回不在npc附近的错误封包.

n 年前的传奇私服,用你这法子估计可行,现在,别来误导新人了
Poner 发表于 2018-1-10 11:05
Gslab 发表于 2018-1-10 10:59
可以举些过去发现的已修复的安全问题例子提供给爱好者一个思路

这倒是可以  哈哈
snccwt 发表于 2018-1-10 10:21
 楼主| Gslab 发表于 2018-1-10 10:22
snccwt 发表于 2018-1-10 10:21
支持原创攻略,好评

感谢支持~~

点评

辛苦了 最近基础类文章貌似发的挺多的?  详情 回复 发表于 2018-1-10 10:29
Poner 发表于 2018-1-10 10:29

辛苦了   最近基础类文章貌似发的挺多的?
联众客服咨询 发表于 2018-1-10 10:29
虽然不懂,但是感觉很厉害~
 楼主| Gslab 发表于 2018-1-10 10:35
Poner 发表于 2018-1-10 10:29
辛苦了   最近基础类文章貌似发的挺多的?

为游戏安全开发爱好者提供一些理论知识,后续需要整合我也能配合着弄。可以的话也能更新实战类的教程。

点评

实战类?你不会是要拿自己公司的游戏做教程吧?  详情 回复 发表于 2018-1-10 10:37
Poner 发表于 2018-1-10 10:37
Gslab 发表于 2018-1-10 10:35
为游戏安全开发爱好者提供一些理论知识,后续需要整合我也能配合着弄。可以的话也能更新实战类的教程。:l ...

实战类?你不会是要拿自己公司的游戏做教程吧?
xk20036 发表于 2018-1-10 10:39
支持基础性的文章
春天的萌动 发表于 2018-1-10 10:49
厉害,厉害,不知是哪个游戏公司的。
桥段 发表于 2018-1-10 10:52
这个思路值得学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-20 02:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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