-
-
梦幻西游远程交易漏洞分析报告
-
发表于: 2015-9-11 11:32 2778
-
一、漏洞简介
1) 漏洞所属游戏名及基本介绍:梦幻西游(com.netease.my),纯回合制RPG游戏
2) 漏洞对应游戏版本及平台:梦幻西游Android 1.28.0
3) 漏洞功能:远程交易(战斗中也可远程交易)
4) 漏洞危害评级:黄
二、漏洞实现介绍
1、远程交易功能收益点
1、师门或者主线、支线寻找物品(武器、药品等)任务,可通过此漏洞直接购买物品完成任务。
2、战斗过程,背包没有相应的补血或者复活药物而需要使用的时候,可通过此漏洞直接购买并使用。
2、漏洞实现使用工具
利用APKTOOL解APK包,IDA进行静态分析和动态调试,分析反编译出lua明文代码,修改特定脚本逻辑替换即可重现漏洞。
3、漏洞实现过程及实现原理
通过IDA静态分析,可看出梦幻西游是采用Lua脚本进行游戏逻辑开发。由于Lua引擎是开源项目,直接分析该引擎代码可以知道Lua会通过lua_Reader函数读取脚本内容。因此,可直接在该点Dump Lua脚本代码。
而梦幻西游没有直接下发Lua源码,需要反编译出Lua明文代码(需要留意其对lua引擎进行了一定修改,Opcode需要还原)。在获取到游戏明文Lua代码后,仔细阅读分析挖掘即可,然后通过HOOK Lua引擎替换修改后的代码回去即可测试漏洞。
本报告提到的随时随地交易漏洞修改原理如下:
1、还原Opcode再反编译分析,发现玩家NPC交易的时候,相关协议(88013)没有角色坐标信息,可推测存在此类漏洞风险。再仔细分析可发现游戏封装好各类协议发包函数,可直接调用发包。因此如图1所示(20301为鹿茸ID、2为长安城药店老板NPC)为功能实现代码,尝试在各种场景调用伪造购物数据包,发现均可成功购买鹿茸并可以使用。
1) 漏洞所属游戏名及基本介绍:梦幻西游(com.netease.my),纯回合制RPG游戏
2) 漏洞对应游戏版本及平台:梦幻西游Android 1.28.0
3) 漏洞功能:远程交易(战斗中也可远程交易)
4) 漏洞危害评级:黄
二、漏洞实现介绍
1、远程交易功能收益点
1、师门或者主线、支线寻找物品(武器、药品等)任务,可通过此漏洞直接购买物品完成任务。
2、战斗过程,背包没有相应的补血或者复活药物而需要使用的时候,可通过此漏洞直接购买并使用。
2、漏洞实现使用工具
利用APKTOOL解APK包,IDA进行静态分析和动态调试,分析反编译出lua明文代码,修改特定脚本逻辑替换即可重现漏洞。
3、漏洞实现过程及实现原理
通过IDA静态分析,可看出梦幻西游是采用Lua脚本进行游戏逻辑开发。由于Lua引擎是开源项目,直接分析该引擎代码可以知道Lua会通过lua_Reader函数读取脚本内容。因此,可直接在该点Dump Lua脚本代码。
而梦幻西游没有直接下发Lua源码,需要反编译出Lua明文代码(需要留意其对lua引擎进行了一定修改,Opcode需要还原)。在获取到游戏明文Lua代码后,仔细阅读分析挖掘即可,然后通过HOOK Lua引擎替换修改后的代码回去即可测试漏洞。
本报告提到的随时随地交易漏洞修改原理如下:
1、还原Opcode再反编译分析,发现玩家NPC交易的时候,相关协议(88013)没有角色坐标信息,可推测存在此类漏洞风险。再仔细分析可发现游戏封装好各类协议发包函数,可直接调用发包。因此如图1所示(20301为鹿茸ID、2为长安城药店老板NPC)为功能实现代码,尝试在各种场景调用伪造购物数据包,发现均可成功购买鹿茸并可以使用。
赞赏
他的文章
- [求助]贝贝游戏平台如何逆向? 2710
- [求助]手游lua文件修改的问题 5464
- [求助]x64_dbg中,log是什么原理呀?能用代码获取吗? 3240
- [求助]luadec 5.1 反编译大luac文件时,会报exe错误 11621
看原图
赞赏
雪币:
留言: