ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

UPDATED - Vk improved_regger by Whirt + How to
  #1  
Старый 24.06.2008, 23:36
Аватар для Whirt
Whirt
Участник форума
Регистрация: 24.06.2008
Сообщений: 105
Провел на форуме:
674665

Репутация: 276
Arrow UPDATED - Vk improved_regger by Whirt + How to

Наткнулся как то на скрипт Isis'а и решил немного оптимизировать его под свои нужды. Мыльник @pookmail.com закрыли, распарсил новый, tempinbox.com.

Добавлено:
[+] Заполнение рандомной комбинации имя+фамилия (муж/жен пол, (т.е. в зависимости от выставленного пола в настройках, будут в профиль вписываться имена а-ля Алиса Волкова или Александр Кузнецов) , все берется из бд-файлов
[+] Добавлена поддержка прокси (ее мне как раз не хватало)
[+] Стало возможным указать кол-во акков для рега (мультирег)
[+] Логирование + опциональный дампинг ххтп реквестов для дебага (можно включить в исходнике)

PHP код:
<?php
/*
           __     __        __
.--.--.--.|  |--.|__|.----.|  |_
|  |  |  ||     ||  ||   _||   _|
|________||__|__||__||__|  |____|

 ----- VK improved account regger by Whirt ------ //

new features:
[+] Added filling Name/Surname (males/females[rus]) from file db
[+] Added proxy support
[+] Added multi-reg support (not muti-threaded yet :( )
[+] Added general logging and logging HTTP data

// ----- based on Isis' script               ------ */

$host "vkontakte.ru"
$port "80";
$gender "f";  //f=females, m=males
$log_msgtype "txt"// html/txt
$num 500//number of accounts to register
// ----- init ----- //
set_time_limit(0); 
$fp  fopen('accounts.txt''a') or die(log_msg("[-] Write Error: Set correct permissions (accounts file) (666)"));
$fl  fopen('log_msg.txt''w') or die(log_msg("[-] Write Error: Set correct permissions (log_msg file) (666)")); 
// ----- functions ----- //
function load_vars($filename$prox=0)
{
global 
$gender;

if (!
$prox)  $fd  fopen($filename."_".$gender.".txt""r"); 
else         
$fd  fopen($filename.".txt""r"); 
if (!
$fd) {die("[-] Unable to load ".$filename." db\n");}
$x=0;
  while (!
feof($fd))
   {
     
$line trim(fgets($fd4096));
     
$arr[$x] = $line;
     
$x++;
   }
 
fclose($fd);
 return 
$arr;   
}

function 
make_headers($proxy$p_port$hdr$debug=true)
{
 
$fp fsockopen($proxy$p_port);
 if (!
$fp
 { 
     print (
"[-] Could not connect to proxy: ".$proxy.":".$p_port."\n");
     return 
NULL;
 }
     
 
fputs($fp,$hdr);  //Send headers
 
while(!feof($fp)) {
 
$ret .= fgets($fp,4096);
}
  if (
$debug) { print "OUT: $hdr\n IN: $ret\n"; }
 
fclose($fp);   
 return 
$ret;   
}

function 
log_msg($msg)
{
 global 
$fl//File log  
 
global $log_msgtype;
 
 if (
$log_msgtype=="html"$ln="<br/>"; else $ln="\n";
 
$time date("[ H:i:s ] ");
 print(
$time.$msg.$ln);    
 
fputs($fl$time.$msg.$ln);  
 return 
$msg//for backward compactibility)   
}
/* ------  loadin' dbs to arrays -------- */

$names     load_vars("names");
$surnames  load_vars("surnames");
$proxies   load_vars("proxies",1);


 
//----------------//

echo "*** VK improved_account regger by Whirt. Original ver. by Isis ***\n";
$regn 1;  //reg. number     
        
for ($x=1$x<=$num$x++)
        { 
            
            
$rnd_name    urlencode($names[rand(0,count($names)-1)]);
            
$rnd_surname urlencode($surnames[rand(0,count($surnames)-1)]);
            
$rnd_proxy   explode(":"$proxies[rand(0,count($proxies)-1)]);

            
//$xek    = file_get_contents("http://".$host."/reg0");
            
$httpq  
            
"GET http://".$host."/reg0 HTTP/1.1\r\n".
            
"Host: ".$host."\r\n"
            
"Referer: http://".$host."/reg0\r\n"
            
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n"
            
"Content-Type: text/html\r\n\r\n";  
            
            
$xek    make_headers($rnd_proxy[0], $rnd_proxy[1], $httpq);
             
            
$mad    "fuckyou".rand(111111,999999);
            
$name   $rnd_name
            
$sur    $rnd_surname
            
$pwd    substr(md5($name.$sur),1,9); //generate 9dig pwd 

            
$usl1    preg_match("#<input type=\"hidden\" name=\"code\" id=\"code\" value=\"(.*)\">#"$xek$outcode); 
            
$usl2    preg_match("#<input type=\"hidden\" name=\"mu\" id=\"mu\" value=\"(.*)\">#"$xek$outmu); 

            if(
$usl1 && $usl2
            { 
                
$code    $outcode["1"]; 
                
$mu      $outmu["1"]; 
                
$post    "subm=1&time=reg&code=".$code."&mu=".$mu."&first_name=".$name."&last_name=".$sur."&email=".$mad."%40tempinbox.com&pass=".$pwd
                
log($post);
                
$httpq     
                
"POST http://".$host."/profileEdit.php?page=education HTTP/1.1\r\n"
                
"Host: ".$host."\r\n"
                
"Referer: http://".$host."/reg0\r\n"
                
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n"
                
"Content-Type: application/x-www-form-urlencoded\r\n"
                
"Content-Length: ".strlen($post)."\r\n\r\n".$post

                
$c make_headers($rnd_proxy[0], $rnd_proxy[1], $httpq);
                  
                if(
strpos($c"confirm") !== false
                { 
                   
// log_msg("Wating for mail ".$mad."@tempinbox.com...");
                    
Sleep(12); //increase this variable if u have slow connection
                    
$mail    file_get_contents("http://www.tempinbox.com/cgi-bin/checkmail.pl?username=".$mad."&button=Check+Mail&terms=on"); 
                    
preg_match("#<a href=\"\/cgi-bin\/viewmail.pl\?id=(.*)\">#"$mail$conf);                  
                    
$mail    file_get_contents("http://www.tempinbox.com/cgi-bin/viewmail.pl?id=".$conf["1"]);
                    
preg_match("#code=(.*)\">#"$mail$conf1);
                    
                    
$key    $conf1["1"];  
                    
$post "code=".$key
            
                    
$httpq     
                    
"POST http://".$host."/confirm.php HTTP/1.1\r\n"
                    
"Host: ".$host."\r\n"
                    
"Referer: http://win.mail.ru\r\n"
                    
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox/2.0.0.12\r\n"
                    
"Content-Type: application/x-www-form-urlencoded\r\n"
                    
"Set-Cookie: remixchk=5\r\n"
                    
"Content-Length: ".strlen($post)."\r\n\r\n".$post

                    
$c make_headers($rnd_proxy[0], $rnd_proxy[1], $httpq);
                    
preg_match("#remixmid=([0-9]*)#"$c$uid);

                    if(
strpos($c"profile.php") !== false
                    { 
                        
log_msg("[+]".$regn."/".($x)." Registered - ".$mad."@tempinbox.com /id".$uid["1"]."/ (proxy: ".$rnd_proxy[0].":".$rnd_proxy[1]);    
                        
fwrite($fp$mad."@tempinbox.com:".$pwd.":".$uid["1"]."\r\n"); 
                        
$regn++; 
                    } 
                } 
                else 
                { 
                    
log_msg("[-] Could not get the letter. Account is not registered"); 
                } 
            } 
            else 
            { 
                
log("[-] Couldnt find variables in html code...");
                
Sleep(1); //a little pause to prevent overloadin' 
            

        }  
 
fclose($fp);
 
fclose($fl);
?>

How to use:
1) Заливаем на шелл все файлы из архива
2) По дефолту регает 500 акков (можно изменить в самом vk.php
3) Создаем файл proxies.txt, заливаем туда прокси по одному на строчку вида
host:port
4) php vk.php





Файл: http://www.rapidshare.ru/712746
====================
UPD:
====================

Как стало ясно, домен уже прикрыли на vkontakte.ru

И раз уж такой случай попался, решил написать мини-руководство, как распарсить новый мыльник для рега вконтакте акков. Впринципе это довольно просто. Но все же для тех кто не знает,
а порегать акков вконтакте хочется:

1) Google -> Disposable Email (можно любые другие кейворды, а-ля : одноразовая почта, etc.)
2) Я выбрал для экспериментов: dodgit.com
3) Скачиваем плагин Tamper Data для Firefox
4) Заходим на http://dodgit.com
Вписываем произвольное мыло, нам сейчас нужно узнать какие данные передаются по HTTP.
Я вписал whirt@dodgit.com , запускаем плагин перехватки данных,
жмем GO.

5) Поймали 2 запроса. Нас интересует второй.
Видим, чтобы войти в ящик, нужно перейти по адресу:

http://dodgit.com/run/checkmail?mailbox=whirt

6) Идем на vkontakte.ru, регимся, указываем наш ящик.
7) Проверяем почту.
8) Смотрим куда ведет линк из поля subject: http://dodgit.com/run/viewmail?mailbox=whirt&id=97824479
9) Открываем линк, смотрим исходник. Интересующий нас линк имеет вид:
<a href ="http://vkontakte.ru/confirm.php?code=d6a3fdd0ece1c177210465b2345cb5fa" >http://vkontakte.ru/confirm.php?code=d6a3fdd0ece1c177210465b2345cb5fa</a>

Ну вот, теперь у нас есть все необходимые данные для создания запросов и двух регулярных выражений.

Создаем новый файл, назовем его vk_confirm.php:

PHP код:
<?
$username   
"whirt" // обычно рандомная комбинация , но я использовал для примера просто $username="whirt"
$mail  file_get_contents("http://dodgit.com/run/checkmail?mailbox=".$username);

preg_match("#&id=(\d+)#"$mail$id);
//\d+ выберет все цифры после шаблона
echo "ID=".$id["1"]."<br>";

$mail  file_get_contents("http://dodgit.com/run/viewmail?mailbox=".$username."&id=".$id["1"]);
preg_match("#code=(.*)\">#"$mail$code);
$key   $code["1"];

echo 
"KEY=".$key;
?>
10) Теперь у нас есть ключ. Его и используем в подтверждении кода (пример можно посмотреть в самом коде реггера).
11) Ну вот и все. Запихнуть эти строки в сам скрипт человеку, хоть немного знающему php, не составит труда.

Этот домен: dodgit.com я специально не стал использовать для своих регистраций, а оставил для вас)
Впрочем, как видно, данная операция по парсингу нового мылсервера занимает не больше 10-15 минут.


ВНИМАНИЕ! Данный скрипт написан исключительно в ознакомительных целях, и автор не несет НИКАКОЙ ответственности за любой возможный вред, который может быть причинен в результате использования этого скрипта в целях, противоречащих УК РФ.

Последний раз редактировалось Whirt; 31.07.2008 в 19:51.. Причина: Update Header
 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ