详细讲解MUSF的GS漏洞和解决方法

--【GM必备手册】

  首先,我说说关于MUSF的几个早已存在的漏洞:

  <<早已存在的漏洞>>

  1.ASP后台漏洞,ASP植入式指令攻击可以饶过密码验证部分

  2.后台config.asp漏洞,用网页小偷可以把整个存放在IIS目录下的网页下载回去,再打开你的config.asp看,就知道你的操作SQL的帐号密码了

  3.远程SQL连接漏洞,在查询分析器中输入指定IP,帐号以及密码,就可以进去指定IP的SQL中

  4.MU服务器端的公版帐号密码漏洞,帐号/密码:admin/thdzlqhem, MuOnlineAdmin/wkfwkRnfRnf

  5.远程仓库编辑器,用公版帐号密码可以登陆

  6.专用登陆器隐藏端口漏洞,启动本地防火墙,设置一切进出数据进行日志纪录,使用登陆器连接到对方的服务器,再退出,就可以在日志文件找到端口了,用窗口软件登陆到对方服务器,返回windows在CMD界面下输入netstat,可以查看跟游戏服务器的连接情况

  7.美亚公版登陆器式反外挂系统漏洞,2台机器,其中一台登陆解锁,再用另一台使用外挂连接(1.05已修正,以下再详细说明用其他方法使用该漏洞)

  8.复制BUG漏洞:(复制出来的东西只要不在同一个身上就算开了复制物品检测是不起作用的!)先一个角色和卡隆说话~然后另一个角色和那和卡隆说话的角色交易1次~等自动取消交易了再交易1次!和卡隆说话的角色按OK~还有个选择OK或取消在上面~把身上的东西放1件上去,再拿下来~和卡隆说话的角色按取消!那个有需要复制的人走开 把东西全放仓库~再去交易他一次(和卡隆说话的人按OK)然后有需要复制东西的人按取消,东西就有了(卡隆可以为其他会弹出对话框的NPC)

  9.建立相同账号的漏洞﹕這個是ASP注冊頁不完善的BUG

  10.中文帐号共用相同仓库的漏洞﹕這個也是ASP注冊頁不完善的BUG

  以下内容为重点,也就是近期用来黑SF所使用的手段(并非一般的后台漏洞,ASP漏洞)

  ★GS端连接漏洞★:

  首先详细了解MU服务器端的其中几个服务端的作用:

  (1)CS端:开放用户与游戏服务器进行连接,CS\data\serverlist.dat的内容为

  0 "服务器名" "所连接的服务器IP" 55901 "SHOW"

  端口55901为游戏服务器连接端口

  (2)Gameserver端:读取data\的所有关于主配置,商店,刷怪文件,MU客服端就是与其进行通讯

  (3)Dateserver端:数据服务器,默认IP为55960/55962,与SQL数据库连接,与Gameserver端通讯

  下面将详细解释如何利用这2个端进入指定SF数据库的方法:(模拟演示)

  首先,H国开发人员并没有预料到服务器端会泄露的事件,因此,Gameserver端与Dateserver端之间的通讯并没有加密,就是说,不需要使用任何帐号/密码就可以互相通讯,OK,那就本地打开Gameserver去连别人的Dateserver吧:

  〓准备工作〓

  <1>假设找到一个SF的,其IP为218mu.com,用X-SCAN扫描对方服务器端口40000-60000,知道对方使用默认的Dateserver端口55960

  <2>打开本地服务器端目录\data\commonserver.cfg,在里面找到

  ChaosEventServer = 127.0.0.1 ; 游戏事件对应服务器

  DevilSquareEventServer = 127.0.0.1 ; 恶魔广场事件服务器

  EventChipServerIp = 127.0.0.1 ; 天空宝箱事件对应服务器

  由于Gameserver启动会寻找这3个指定IP的服务器,但是现在只需要开启Gameserver,那就把127.0.0.1改为对方的ip:218mu.com吧,对方开SF的无理由不启动这3个服务器端,所以借来用用就OK了,自己不用开,再来看看Gameserver的快捷方式是如何写:(一般都是这样写的)

  D:\MuServer\GameServer\GameServer.exe 127.0.0.1 55970 127.0.0.1 55960 55901

  一般来说开SF的都是这样写就OK了,因为所有服务器都是本地运行,所以只需要把IP都指向本机IP,现在要进入218mu.com的数据库,必须改一下

  D:\MuServer\GameServer\GameServer.exe 218mu.com 55970 218mu.com 55960 55901

  在这里有朋友会问55960是Dateserver端口,55901是Gameserver连接端口,55970是什么端口?

  忘记了吗?D:\MuServer\Joinserver\JoinServer.exe /p55970 /ca127.0.0.1 /cp55557

  看到了吧,这个55970就是Joinserver的连接验证端口,用来在SQL数据库中验证帐号和密码!把Gameserver的快捷方式中的也指向对方的验证服务端Joinserver吧,因为你的帐号是注册在对方的数据库中的

  好了,现在启动修改后的Gameserver吧!

  数据库与游戏主服务端接驳成功了吧,好,怎么进入自己的Gameserver呢?这样来,打开你的CS目录,找到serverlist.dat文件,把其中的内容

  0 "服务器名" "所连接的服务器IP" 55901 "SHOW"

  改为:

  0 "服务器名" "127.0.0.1" 55901 "SHOW"

  保存!为什么要改为127.0.0.1?那是因为你的Gameserver是在本地运行的!你要连自己的Gameserver端,而不是别人的!

  接着把修改好的CS也打开吧,好了,运行MU客服端,连接127.0.0.1吧!连接的Joinserver既然是对方的,那么必须使用在对方注册了的帐号登陆,但是你的Gameserver读取的是本地data中设置的内容,那就改个经验10000倍吧,不用太多,商店喜欢出售什么就出售什么,把自己全部搞好后,再连接过去别人的SF上就可以威风了!

  有些SF用GS连出来会卡在读取对方战盟数那里,反复再试多次,这个是由于对方服务器的网络资源紧张,卡在那里了;另外有些SF用GS连过去是显示白屏,那就证明已经做好了IP安全策略,GS连不过去--_--0

  【GS端漏洞利用的瑕疵】

  由于只是本地运行Gameserver,其他服务器端

  Joinserver(帐号验证服务端)

  WZ_MU2003_EVENT_SERVER(游戏娱乐事件服务端)

  DevilSqure_EventServer(恶魔广场服务端)

  都是借对方的,

  因此在对方的Joinserver端中会出现额外的Gameserver在连接中,而且对方的Gameserver中会有出现额外的连接信息

  解决办法:

  本地再运行Joinserver,WZ_MU2003_EVENT_SERVER,DevilSqure_EventServer这3个端吧!

  那么Gameserver的对应配置文件(data\commonserver.cfg)里面的内容就必须修正一下:

  ChaosEventServer = 127.0.0.1 ; 游戏事件对应服务器

  DevilSquareEventServer = 127.0.0.1 ; 恶魔广场事件服务器

  EventChipServerIp = 127.0.0.1 ; 天空宝箱事件对应服务器

  由于WZ_MU2003_EVENT_SERVER,DevilSqure_EventServer为本地运行,所以IP都改为127.0.0.1

  另外Joinserver也采用本地运行,那么Gameserver的快捷方式的内容也必须改为:

  D:\MuServer\GameServer\GameServer.exe 127.0.0.1 55970 218mu.com 55960 55901

  前面的55970对应的是本地的Joinserver,所以必须指向127.0.0.1

  而后面的55960是对方Dateserver端口,所以就必须指向对方的IP

  好了,再次运行,总共运行5个服务器端,就可以很隐蔽地连接到对方数据库端Dateserver了!

  这样对方的Joinserver就不会出现额外的连接信息了!而且,还可以修改CS中serverlist.dat的内容为

  0 "服务器名" "自己的公网IP" 55901 "SHOW"

  这样保存后,还可以开放外网给朋友进来一起爽!

  ■GS端漏洞利用的扩展■

  扩展1.只要知道某帐号就可以登陆:

  Joinserver的作用只是单纯地对登陆的帐号跟指向的SQL数据库进行对比验证,而且Joinserver是在本地运行的,数据库是指向自己的SQL数据库,那么只要在你的数据库中注册一个帐号,账号名字跟对方服务器要黑的那个帐号是一致的,密码用在本地注册的那个就可以通过验证!通过验证后,进入的却是对方服务器上的Dateserver数据端指向的数据库!

  扩展2.复制物品(非利用MU漏洞复制)

  由于Joinserver分别有2个:一个是对方的,一个是本地运行的;并且Joinserver只是起了单纯的认证作用,那么就意味着可以同时通过2边的Joinserver来进入一个Dateserver了!假设本地进入的为人物A,通过对方进入的为人物B,人物A/B把身上东西取下,存放进仓库,2个人物谁最后退出游戏,数据就保留谁的,那只要身上空了的那个首先退出,身上还有装备,仓库又多了一套的那个最后退出,复制就成功了!但是,服务器端开了复制物品检测功能怎么办?别忘记了,还有本地的Gameserver呢?本地的服务器端主配置文件可以把复制物品检测功能关了,再登陆进本地的Gameserver,从容地把复制物品拿出来,分给其他人,只要复制物品不碰到一起,就不会出现断线的情况!

  扩展3.突破美亚公版登陆器式反外挂系统漏洞1.05

  只要理解了上面复制物品的原理后就知道了吧?1.05加了再多的验证也没有用,还是利用2个人同时上同一个帐号的方法,这样一个上了对方服务器先解封帐号,那么另一个本地上就是了,外挂随便用,因为CS也是本地启动的,CS内置的端口没改的话就是44405对不?

  ★GS端漏洞利用的解决办法★

  能看完全文的就知道其实MU的服务器端是如此的脆弱吧,但是其实知道原理了吧,那解决方法也还是有的首先,可以用防火墙限制DS和GS,JS的通訊端口只能用本地IP连接;还有设置内外网连接,把Dateserver数据服务端放入内网另一台機器也是个很好的办法!又或者,使用路由功能,對外只映射44405和55901端口客服斷连接就行了﹐另外设置IP策略禁止外部IP连接这几个端口也是可行的;9C之所以不能用这个方法给攻陷,就是因为他的几个服务器端都是分开放不同服务器组的,另外有硬件防火墙,路由器更是自带防火墙功能的...就是知道了他的数据端IP也给路由限制得死死的,不能从外部连接进入。

  关于防止GS被黑的方法是:开启你的TCP/IP端口筛选,只开放以下这些端口增加安全性,(开设其他服务,端口自己再加入)

  TCP/IP筛选端口-> TCP断口

  端口80 .... WEB 端口

  端口21 .... FTP 端口

  端口44405 .... Gameserver 连接端口

  端口55901 .... Gameserver连接端口

  步驟﹕

  网上邻居>属性>本地连接>属性>internet 协议(tcp/ip)>属性>高级>选项>tcp/ip筛选>属性 启动tcp/ip筛选,设定只允许TCP端口为所需要的端口。

  最后补充说明,单纯的更改Dateserver端口是没有意义的,只要使用Xscan就可以把你的所有端口扫描出来

  这个漏洞的好处还是有的,异地开个双线服务器组,来协调分流一下在线人数,毕竟单线的话,能进恶魔广场的人实在有限得很。

  补充一下,用了GS漏洞连过去如何做个N多人物属性点的改人出来!

  \data\lang\chs\Quest(chs).txt

  这个文本是控制转职任务的一切内容,找到以下内容:

  // 任务编号(Quest Type) (Item Type) (Item SubType) 物品数量 (Item Number) 丢弃怪物最低等级(Target Monster) 掉落 怪物最高等级 怪物掉落机率 (1~1000) 任务补场(补偿Type) (补偿 SubType) 补偿物品 数量 (要求条件初期化) 任务初期版本编号 (登入前) 准许执行任务後的版本编号 (登入後) 任务条件完毕後版本编号 任务执行完成後版本编号 (黑魔法师) (黑骑师) (妖精) (魔剑士)

  1 14 23 1 45 60 10 200 0 10 0 52 54 55 56 1 1 1 0

  1 14 23 1 45 60 10 200 0 10 1 52 54 55 56 0 0 0 1

  end

  //执行条件 固定值(Type) 任务编号 (Quest Index) 任务条件 (1.升级/2.物品/3.其他 ) NPC编号 (任务 开始 SubType ) 任务名称(Quest Name)

  0 1 2 235 "奇迹大陆的3种宝物"

  // 转职任务1 任务初期化 任务完成补偿

  //任务编号(Quest Type) (Item Type) (Item SubType) 物品数量 (Item Number) 丢弃怪物最低等级(Target Monster) 弃怪物最高等级 怪物丢弃机率 (1~1000) 任务补场(补偿Type) (补偿 SubType) 补偿物品 数量 (要求条件初期化) 任务初期版本编号 (登入前) 准许任

  1 14 24 1 62 76 10 201 0 10 0 60 61 62 72 0 1 0 0

  1 14 25 1 62 76 10 201 0 10 0 64 65 66 72 0 0 1 0

  1 14 26 1 62 76 10 201 0 10 0 67 68 69 72 1 0 0 0

  end

  看蓝色那个数字10,大家应该都知道上面内容是转职总共获得10+10点的任务吧,把所有的10全部改为需要的数字,例如:改为4000点,那么转职完成后,人物就多出4000+4000点,就是8000点了,够BT了吧!

  由于这个控制任务文件也是本地GS所使用的,因此改后在本地GS中成功转职就会得到实际效果--获得N多人物点数,但是如果在经验倍数不高,没开转生的不BTSF,其实很容易看出来是改人,因为登陆会出现(属性点错误)的GS提示!

  一、游戏的设置

  (1)、所有宝箱掉落物品在DATA目录下对应的文件 ;黄金宝箱+1---+5由服务器开启,掉落物品在data\eventitembag8---12.txt ;爆竹由服务器开启(可手动开启),掉落物品在data\eventitembag5.txt ;圣诞星星由服务器开启(可手动开启),掉落物品在data\eventitembag4.txt ;幸运宝箱由服务器开启,掉落物品在data\eventitembag2.txt ;天空宝箱由服务器开启,掉落物品在data\eventitembag.txt 请注意放入的物品代码基本和放商店的一样,但是特别注意一点放入商店的物品后面有5个选项,而宝箱中的只有4个,如果你多打了一个选项那就会出现不停的出非法物品!黄金宝箱中写入的也是普通物品的代码,并不存在卓越物品的代码,出卓越还是普通的就看你怎么设置的了。

  (2)、在普通的地图上是不可能指定刷出黄金怪的,不要做无谓的尝试。黄金怪的索引码是3,普通的怪索引码是2,索引码为3的怪只能通过系统在设定的地图中开启,我们所能调的也就只有刷出的数量和刷新的时间而已!,索引码为3的还包括骷髅王,TT,黄金幼龙==。(广场血城我没试,大家有兴趣也可以试下)

  (3)、在古竞技场刷怪,想法很好,但是游戏设计的初衷没有让服务器在里面刷怪,所以你强制在古竞技场刷怪会在GAMESERVER中看到报错现象。1个怪就有一条错。

  (4)、GAMESERVER报这个错代表什么: error-L1 : CloseClient INVALID_SOCKET 是因为你的SF里有人骑彩云兽。 error-L3 C:\Work\WebZen\霸烙辑滚家胶\GameServer\0.96.28_吝惫抛挤\Source\protocol.cpp 是因为有人用圣灵弓 error : Monster location setting error C:\Work\WebZen\霸烙辑滚家胶\GameServer\0.96.28_吝惫抛挤\Source\user.cpp 说明你的怪刷到了非法坐标,比如上面提到的在古竞技场刷怪 WSASend(832) failed with error 10038 61.134.38.138 这个错你要尤其注意一下,可能是有人在搞你,必要时候封了这个IP! Ability Point Error 是因为这个人转过生了,如果没转生也报这个错,说明这个人数据被篡改了,没什么好说的,立即封号,并且查找服务器漏洞!!!其他的设置,别人都已经写了很多了,我没必要重复了!要就去精华看!

  二、服务器的安全问题

  (1)网络安全:其实很多人都已经说过了,但是大家好象都用的是软件的防火墙,比如天网什么的。我没用过所以不枉加评论,我说说我用的,大家为什么不去买个家用的ROUTER,我就是用的这个只要280元一点也不贵,而且功能也不错,想开什么端口就开,可以做内外网IP地址和端口的转换。而且带有防火墙和过滤,不是很好吗,我再在服务器端安装了ISA这样基本可以保证不被入侵了。

  (2)系统安全:所有补丁要打,所有密码要改,密码不得使用弱密码,本人密码没有小于12位的,要问我怎么记住那么多密码,告诉大家一个诀窍,想一句你能记住的话当中要有数字,比如“我的生日是19701212”你可以设定你的密码是MyBrithDay!(&)!#@!@,怎么样,够绝了吧,什么,没看懂?晕,把19701212按住Shift打一遍试试!如果对放要破就让他破吧,破到他吐血,呵呵!

  (3)0.96Y服务端程序密码的绝对地址:(同样适用0.96改的任何服务端)请使用UE修改(UE不会用?算了你等着被黑吧) DATASERVER 用户名地址:3ac4c 口令地址:3ac54 JOINSERVER 用户名地址 口令地址 71328 7131c 71718 7170c 7197c 71970 71aa0 71a94 71acc 71ac0 71b54 71b50 71b88 71b7c 71bb4 71ba8 71e54 71e48 71ea8 71e9c EXDB 用户名:4eacc 口令:4ead4

共2页 1 2

奇迹私服