如果您是奇迹私服的忠实玩家,请点击设置为首页! 我们每日更新最新奇迹私服信息,点击设置为您的收藏!
奇迹私服 奇迹私服漏洞 奇迹私服技术 奇迹私服加点 奇迹私服资源 奇迹私服文章 奇迹私服教程 发布私服
奇迹私服网页漏洞

奇迹私服网页漏洞

漏洞版本 梦之奇迹私服注册系统的所有版本!

漏洞原因,由于梦之奇迹的编写者对用户的输入根本没采取什么过滤,只是简简单单的通过提交的表单来限制用户的输入长度,而且对一些最起码的 "'",'='都没有过滤掉,而这个是编程的大忌,现在很多高中生都知道过滤的重要,不知道这样的系统为什么会发布并在网上流传!

拿来源代码一看,整个系统能渗透的地方很多.在usezs.asp中有这么一段

accountname=request.form("username")
password=request.form("password")
character=request.form("userchr")


if instr(accountname,"'")<>0 then response.end
if instr(accountname,"=")<>0 then response.end
if instr(accountname,"%")<>0 then response.end

if accountname<>"" and password<>"" then

connstrs = "DBQ="+server.mappath(lifedbnames)+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
......
他知道对用户提交的名字进行了过滤,单没对用户提交的密码过滤,而直接带入数据库中,大家看:
......
end if

end if


set rs = Server.CreateObject("ADODB.Recordset")

sql="select * from MEMB_INFO where memb___id = '"&accountname&"' and memb__pwd='"&password&"'"

rs.open sql,conn,1,1

if rs.eof or rs.bof then

response.write "<script language=javascript>alert('nn帐号信息错误,请重新填写!');history.back()</script>"

response.end

看见了么?我们就可以利用这段代码sql="select * from MEMB_INFO where memb___id = '"&accountname&"' and memb__pwd='"&password&"'"
输入一个构造的特殊的语句.
比如 1;select * from character;-- 这样你就可以操作数据库的character表,并可以通过insert,update等命令操作数据库,添加任何你想要的东西,级别,这样任何人都可以当GM了.

希望用 梦之奇迹 注册系统的4F网管注意了!

解决办法 账号检验后面添加

if instr(password,"'")<>0 then response.end
if instr(password,"=")<>0 then response.end
if instr(password,"%")<>0 then response.end

多机多线,希望大家喜欢

因为我所在的网络,收费是按照流量收的,而每月只有3G免费,流量,因此看了tatto的一机多线,弄了个多机多线,帖出来帮助一下大家,这样可以节省主机很大的资源,多台机器负担,希望大家喜欢。而且流量也分流了,我实验的分机IP地址是外部网的,内部网同样可以。

这种方法设置比较灵活,最重要的就是,一个线瘫痪不影响其他线的运行。主机可以不运行GAMESERVER,也节省主机资源。分机如果机器配置好,也可以运行多个线。

下面以三机三条线为例
(1)假设你的MU服务端放在d:muserver.先修改d:muservercsConnectserverlist.dat,d:muservercsdataConnectserverlist.dat,d:muservercsdataServerList.dat三个文件为如下内容:(好象只修改serverlist.dat也行.安全起见,全改了)


如果要3线共用一个地图,就是3线的玩家互相可见,就写成面这样:

0 "服务器名" "主机IP" 55901 "show"
1 "服务器名" "分机IP" 55901 "show" →注意这里是55901就是2线共用一个地图
2 "服务器名" "分机IP" 55901 "show" →注意这里是55901就是2线共用一个地图

3线不共用地图,玩家互不可见,就改成下面这样:

0 "服务器名" "主机IP" 55901 "show"
1 "服务器名" "分机IP" 55902 "show" →注意这里是55902
2 "服务器名" "分机IP" 55903 "show" →注意这里是55903


(2)把d:muserver里面的data,GameServer三个文件夹拷到d:muserver1中
放到分机A的D:下;
把d:muserver里面的data,GameServer三个文件夹拷到d:muserver2中
放到分机B的D:下。

(3)用ue修改你拷到d:muserver1中的gameserver.exe.就是d:muserver1gameservergameserver.exe.因为现在gameserver有多个版本.所以以前给出的绝对地址不一定正确.在ue中搜索WZ_MU_GS_MUTEX.注意全是大写.搜索记得把查找ASCII选中.找到后把这个字符串对应的16进制码全改成0就行了.修改好的gameserver.exe也覆盖MUSERVER2:中的gameserver.exe
(如图)
(4)现在把d:muserverdata中的serverlist.dat写为:
[gameserverinfo]
servername =服务器名 →这里不变
servercode =0 →注意这里为0
connectmemberload =0

第二个文件夹,就是muserver1data中的serverlist.dat写为:
[gameserverinfo]
servername =服务器名 →这里不变
servercode =1 →注意这里修改为1
connectmemberload =0
第二个文件夹,就是muserver2data中的serverlist.dat写为:
[gameserverinfo]
servername =服务器名 →这里不变
servercode =2 →注意这里修改为2
connectmemberload =0


(5)除了原来的8个启动外,主机再加2个,2台分机一台一个,全部启动如下:
主机运行:
1----D:MUSERVERDATASERVER1DATASERVER.EXE 55960
2----D:MUSERVERDATASERVER2DATASERVER.EXE 55962
3----D:MUSERVERDATASERVER2DATASERVER.EXE 55964(这个是多加的)
4----D:MUSERVERDATASERVER2DATASERVER.EXE 55966(这个也是多加的)
5----D:MuServerCSCS.exe
5----D:muserverJOINSERVERJOINSERVER.EXE /p55970 /ca127.0.0.1 cp55557
7----D:MuServerMU2003_EVENT_SERVERWZ_MU2003_EVENT_SERVER.exe
8----D:MuServerRankingServerDevilSqure_EventServer.exe
9----D:MUSERVEREXDBEXDB.EXE
10----D:muserverGAMESERVERGAMESERVER.EXE 127.0.0.1 55970 127.0.0.1 55960 55901
分机A运行:
11----D:muserve1GAMESERVERGAMESERVER.EXE 主机IP 55970 主机IP 55964 55902(这个是多加的,注意路径)
分机B运行
12----D:muserver2GAMESERVERGAMESERVER.EXE 主机IP 55970 主机IP 55966 55903(这个也是多加的,注意路径)

注意:各个分机的GAMESERVER可以在主机前9个程序运行之后的任何时间内运行。

阅读本文的人还阅读:

奇迹私服最新刷钱BUG

奇迹私服1.05的各种BUG

解决很多XP系统玩奇迹私服很卡的问题

战士1级学霹雳回旋斩和弓手1级学穿透方法

作者:补丁    2009-01-19  找奇迹私服,中国最好的奇迹私服发布站
    本文haomusf版权所有,未经批准转载必究。


您查看的文章来自找奇迹私服网http://www.haomusf.com,如果您觉得不错的话请推荐给您的朋友!谢谢您的支持,我们会做的更好!
Copyright © 2006-2010 haomusf.Com All rights reserved.
奇迹私服-版权所有 未经授权禁止复制或建立镜像-鲁ICP备10033807号
本站为广大奇迹私服爱好者提供最新奇迹私服,新开奇迹私服下载,是您查找奇迹私服的最佳去处!