如何捕捉Serv-U漏洞 |
|
| 2003-11-13 |
| |
Serv-U是一款很出色的FTP服务器软件,在网上有很广的应用,设置简单,小巧玲珑,很受用户喜爱。
但是在2000年12月3日,由Zoa_Chien (zoachien securax.org)发现了Serv-U一个重大漏洞,这个漏洞使你的硬盘暴露在网络上。这个漏洞在2.5i以前版本中全部存在。下面,就让我们来看看这个漏洞的真面目。
首先我们使用匿名进入一个使用Seru-U的2.5i以前版本FTP站点:
ftp>pwd
257 "/c:/ftproot" is current directory.
ftp>cd ..
550 /c:/: Permission denied.
哦,没有权限进入上一级目录。
ftp> ls ..
200 PORT Command successful.
550 Permission denied.
也没有权限查看上一级目录。让我们换个方式:
ftp> ls ..%20./* (必须加上“/*”)
看看发生什么了?上一级目录(C:\)的东西尽收眼底了!
ftp> cd ..%20.
ftp> pwd
257 "/c:/ftproot/.." is current directory.
当前目录变成了“c:\ftproot\..”,这不就是根目录吗?
来看看刚才敲了两个什么命令:“ls ..%20./*”和“cd ..%20./”。原来如此:“..%20.”在这里相当于“..”;而且,在Serv-U分析这个目录的时候,把“..”当作当前目录下的子目录,而不是直接进入上一级目录。所以C盘根目录,也就是“c:\ftproot\..”被当作“ftproot”里面的子目录来操作。如果在Serv-U的设置里面,“c:\ftproot”被当作用户的主目录,用户可以对它和其子目录进行读和写的操作,而本来用户被禁止操作的其他目录,就可以通过这种方式当作当前目录的子目录而继承其属性,用户也可以对它读和写了。假如当前在“\c:\ftproot\incoming\”目录,那么就可以用“..%20./ ..%20./windows”来表示“\c:\ftproot\test\..\..\windows”,即“c:\windows”目录,如果“incoming”目录对用户完全开放,可以进行读、写、删除、列表、建目录,那么用户也就可以对“c:\windows”目录进行一些可怕的操作了。
那好,再让我们进入有写和删除权限的“incoming”目录看看:
我们在这里使用两个命令:“put 1.txt ..%20./..%20./windows/”和“put 1.txt ..%20./..%20./windows/2.txt”。我们可以发现,前者不能运行,但后者却可以,“dele”命令也成功了。
实验证明“%20..%20%20..”、“..%20%20..”、“%20..%20.”都等效于“..”。
如果Serv-U的管理员不清楚这个可怕的漏洞,将用户的主目录与系统放在同一个分区,那么黑客利用此漏洞便能抓取到系统的所有密码,如果用户的主目录与Serv-U的配置文件serv-u.ini在同一分区,那么黑客可以抓取serv-u.ini里的用户密码,如果某个用户拥有写和运行权限,那么黑客就可以放一个特洛依木马,并运行它,然后……
即使黑客拿不到serv-u.ini,也可以利用一个有写权限的目录,在这个分区的根目录里放上特洛依木马,再放一个运行木马的autorun.inf,当管理员打开“我的电脑”时,木马就可以自动运行了。
使用Serv-U来作FTP服务的同志是不是很害怕?赶快升级到2.5i版本吧!你可以在http://ftpserv-u.deerfield.com/download/ 找到它。
|
|
| |
|
发表评论
推荐文章
关闭窗口
|
|
|
|