用户登录  | 
首 页技术文章软件发布广告价格
当前位置:传奇游戏服务端下载站传奇站长论坛资源网站程序技术文章文章资讯游戏架设教程奇迹技术

梦之奇迹注册网页漏洞-得到任何你想要的东西

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2014-10-03 22:58:49

漏洞 梦之注册系统的所有!

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

  拿来源代码一看,整个系统能渗透的地方很多.在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 dedecms.com

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('\n\n帐号信息错误,请重新填写!');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:\muserver\cs\Connectserverlist.dat,d:\muserver\cs\data\Connectserverlist.dat,d:\muserver\cs\data\ServerList.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:\下。 dedecms.com

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

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


(5)除了原来的8个启动外,主机再加2个,2台分机一台一个,全部启动如下:
主机运行:
1----D:\MUSERVER\DATASERVER1\DATASERVER.EXE 55960
2----D:\MUSERVER\DATASERVER2\DATASERVER.EXE 55962
3----D:\MUSERVER\DATASERVER2\DATASERVER.EXE 55964(这个是多加的)
4----D:\MUSERVER\DATASERVER2\DATASERVER.EXE 55966(这个也是多加的)
5----D:\MuServer\CS\CS.exe
5----D:\muserver\JOINSERVER\JOINSERVER.EXE /p55970 /ca127.0.0.1 cp55557
7----D:\MuServer\MU2003_EVENT_SERVER\WZ_MU2003_EVENT_SERVER.exe
8----D:\MuServer\RankingServer\DevilSqure_EventServer.exe
9----D:\MUSERVER\EXDB\EXDB.EXE
10----D:\muserver\GAMESERVER\GAMESERVER.EXE 127.0.0.1 55970 127.0.0.1 55960 55901
分机A运行:
11----D:\muserve1\GAMESERVER\GAMESERVER.EXE 主机IP 55970 主机IP 55964 55902(这个是多加的,注意路径)
分机B运行
12----D:\muserver2\GAMESERVER\GAMESERVER.EXE 主机IP 55970  主机IP 55966 55903(这个也是多加的,注意路径)

dedecms.com

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

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
传奇资源网提供最新传奇开区一条龙版本下载,本站声明:只更新最新最好的传奇服务端分享给大家。