用linux构建仗剑江湖mud游戏服务器实战经历 -----vitter 是否有朋友玩过西陆的mud游戏--仗剑江湖,我的同学曾经疯狂迷恋过此游戏,但是现在西陆不做了,把原代码公开下载。在同学的怂恿下,我也下下来,并且在linux下成功建成服务器,在此只是说些自己的体会,因为在看原代码的过程中,发现了一个小小的漏洞,可以使利用者不用密码即可登陆。而且此漏洞在现在的某江湖(西陆公开原代码后,个人做的服务器)虽然经过修改,但是危险性更大,通过它登陆后居然是站长的id!!
有兴趣的朋友可以下载下来玩:源代码下载(3.49M) http://mud.xilu.com/download/webmud_source.zip
可执行文件及数据文件下载(1.77M) http://mud.xilu.com/download/webmud_binary.tar.gz
游戏页面下载(429K) http://mud.xilu.com/download/webmud_site.tar.gz
使用说明(操作系统:redhat 6.2 or BluePoint 2.0):
1、下载"可执行文件及数据文件"(webmud_binary.tar.gz)
2、tar -xzvf webmud_binary.tar.gz /home (进入\home\httpd\cgi-bin\mud
目录下找到login1文件查找其中的192.168.6.68改为你的服务器的ip xxx.xxx.xxx.xxx;再找到webmud.conf文件同样把其中的192.168.6.68该为你的ip;把你的\home\mud\data 文件夹极其文件权限设为777,否则进不了游戏)
3、下载"游戏页面"(webmud_site.tar.gz)
4、tar -xzvf webmud_site.tar.gz /home/httpd
5、建立MySQL数据库:
数据库名:lp
表名:mytest
mytest结构:
+----------+-------------+------+-----+------------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+------------+-------+
| name | varchar(20) | | | | |
| nickname | varchar(20) | YES | | NULL | |
| sex | char(1) | | | | |
| passwd | varchar(20) | | | | |
| email | varchar(50) | | | | |
| ipdres | varchar(20) | | | | |
| firstday | date | | | 0000-00-00 | |
| lastday | date | | | 0000-00-00 | |
| bakmail | varchar(50) | | | | |
| backpass | varchar(20) | YES | | NULL | |
+----------+-------------+------+-----+------------+-------+
实现过程:首先更改mysql的root密码为:yinglei$ (为什么会是这个密码呢,你看过原代码后就会明白)
建立MySQL数据库数据库名:lp
>create database lp;
>use lp;
建表mytest:
>CREATE TABLE mytest(
>name varchar(20) NOT NULL,
>nickname varchar(20) DEFAULT NULL,
>sex char(1) NOT NULL,
>passwd varchar(20) NOT NULL,
>email varchar(20) NOT NULL,
>ipdres varchar(20) NOT NULL,
>firstday date DEFAULT '0000-00-00' NOT NULL,
>lastday date DEFAULT '0000-00-00' NOT NULL,
>bakmail varchar(50) NOT NULL,
>backpass varchar(20));
插进一个名为:test密码为:passwd的用户:
>insert into mytest values('test','','m',password('passwd'),'vitter@163.com','192.168.0.1','','','vitter@163.com','');
6、启动游戏: cd /home/mud/bin
nohup ./webmud&
7、现在就可以玩了,登录页面 http://xxx.xxx.xxx/mud/login1.html 用test用户试试看:)
下面咱们在说说如何不用密码登陆,如果你阅读了原代码的话,应该可以看出来登陆的时候,输入 p'or'1'='1'or'1 即可不用密码登陆:)
可是在现在的展博江湖(mud.zbchinese.com),他们经过了改变,利用他登陆上去的居然是站长的id。(不过现在他们好象改了,不过我同学确实成功了,而且还被巫师请到了房间,问其如何上的:)~~~自然他不会说了,不过跟他们一说情况,呵呵~~然后就打上了补丁)在另一个同样源于西陆的浪漫江湖(lxgnet.com)却没成功。其实说了这么多,只是想说,对于公开了原代码的游戏也好,软件也好,可以在广大的爱好者的努力下会更加完善,也许这就是linux可以和ms的系统竞争的最大本钱;另一方面,希望各位网管能够足够重视安全问题。
希望以上能给初学者一点启示。