Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Статьи (https://forum.antichat.xyz/forumdisplay.php?f=30)
-   -   Охотник за аськами (https://forum.antichat.xyz/showthread.php?t=307726)

Ereee 10.12.2011 20:41

Охотник за аськами или "О, могучий, Google!"​


0. INTRO

В интернете полно сервисов с раздачой icq. Многие шлют на icq на почту. Сейчас напишем php-скрипт для получения асек.

Для эксперимента я взял сервис:

http://pux.su/icq/

Для мыла будем юзать asdasd.ru. Его чудо в том, что, если перейти по ссылке:

http://asdasd.ru/?u=chtoto

Мы автоматически будем читать почту для chtoto@asdasd.ru.

1. Инструменты

1) Любой текстовой редактор

2) http://google.ru для вопросов

2. Начнем. Сбор инфы

Перейдя по ссылке:

http://pux.su/icq/

видим одну форму "Ваш e-mail:" Смотрим исходник страницы:

Код HTML:

HTML:

        Ваш e-mail:

       

       

       
       
   

Из этого следует, что нужно передать POST-ом act = send, mail = nashemail@asdasd.ruна index.php

Попробуем получить асью, вводим luboeslovo@asdasd.ru

Видим:

UIN отправлен на Ваш e-mail

Проверяем почту:

http://asdasd.ru/?u=luboeslovo

Видим:

http://s017.radikal.ru/i411/1112/22/77f5a78fe162t.jpg

Ура! Асья пришла, но открывать сообщение не спешим

Смотрим исходный код, нас интересует только эта строка:

Код HTML:

HTML:
pux.su - Раздача ICQ

Это адрес сообщения с асьей, куда мы и перейдем. В глаза сразу попадается(это и нужно спарсить):

Цитата:

Сообщение от None
UIN: 558443096
Пароль: 82IZpcGQ

Опять же смотрим исходник:

Код HTML:

HTML:
--------------------

UIN: 558443096

Пароль: 82IZpcGQ

--------------------

Информации для старта предостаточно!

3. Реализация

Первым делом, конечно, нужно сгенерировать адрес мыла. Поэтому взял генератор паролей

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/* Для мыла */

[/COLOR][COLOR="#0000BB"]$sim[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//символы

[/COLOR][COLOR="#0000BB"]$max[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]10[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//длина

[/COLOR][COLOR="#0000BB"]$size[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]StrLen[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$sim[/COLOR][COLOR="#007700"])-[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]null[/COLOR][COLOR="#007700"];

while([/COLOR][COLOR="#0000BB"]$max[/COLOR][COLOR="#007700"]--)

[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"].=[/COLOR][COLOR="#0000BB"]$sim[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]rand[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$size[/COLOR][COLOR="#007700"])];

[/
COLOR][COLOR="#0000BB"]$pref[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"@asdasd.ru"[/COLOR][COLOR="#007700"];

[/COLOR][COLOR="#0000BB"]$mylo[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$pref[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//готовый address@asdads.ru

/*---------*/

[/COLOR][/COLOR

Теперь его надо передать на сайт POST-запросом. Для этого юзаем функцию на cURL:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/* Функция отправки запроса */

[/COLOR][COLOR="#007700"]function[/COLOR][COLOR="#0000BB"]make_http_post_request[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$ssl[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$uagent[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]''[/COLOR][COLOR="#007700"]) {

if (empty([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"])) {

return[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]$_post[/COLOR][COLOR="#007700"]= Array();

if ([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"])) {

foreach ([/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"]as[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]) {

[/
COLOR][COLOR="#0000BB"]$_post[/COLOR][COLOR="#007700"][] =[/COLOR][COLOR="#0000BB"]$name[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#DD0000"]'='[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]urlencode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$value[/COLOR][COLOR="#007700"]);

}

}

[/
COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_init[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$url[/COLOR][COLOR="#007700"]);



[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_RETURNTRANSFER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POST[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_HEADER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_FOLLOWLOCATION[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]true[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POSTFIELDS[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]join[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'&'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$_post[/COLOR][COLOR="#007700"]));

}

if ([/COLOR][COLOR="#0000BB"]is_array[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_HTTPHEADER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]);

}

if (!empty([/COLOR][COLOR="#0000BB"]$uagent[/COLOR][COLOR="#007700"])) {

[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_USERAGENT[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$uagent[/COLOR][COLOR="#007700"]);

}

[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_exec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]);

if ([/COLOR][COLOR="#0000BB"]curl_errno[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]) !=[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]&& empty([/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"])) {

[/
COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#0000BB"]curl_close[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$ch[/COLOR][COLOR="#007700"]);

return[/COLOR][COLOR="#0000BB"]$result[/COLOR][COLOR="#007700"];

}

[/
COLOR][COLOR="#FF8000"]/*---------*/

[/COLOR][/COLOR

Функция готова, ну чтож, передаем мыло:

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/* Запрос для отправки ICQ на мыло */

[/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"]= Array([/COLOR][COLOR="#DD0000"]'mail'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#0000BB"]$mylo[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'act'[/COLOR][COLOR="#007700"]=>[/COLOR][COLOR="#DD0000"]'send'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//вот почему смотрели исходник в самом начале ;)

[/COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"]= Array();

[/
COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"][] =[/COLOR][COLOR="#DD0000"]"Content-type: application/x-www-form-urlencoded"[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$content[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]make_http_post_request[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]'http://pux.su/icq/index.php'[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$post[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]false[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$headers[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)'[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//передача

/*--------------------------*/

[/COLOR][/COLOR

Отлично! Осталось ждать прихода e-mail, делается это через sleep(); После парсим id сообщения(помните исходники?):

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"]sleep[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]5[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// ждем 5 сек прихода e-mail

/* Заходим в почту, колдуем */

[/COLOR][COLOR="#0000BB"]$pochta[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"http://asdasd.ru/?u="[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]);

[/
COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"#read(.*?)?u=#si"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$pochta[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$matches[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// парсим id сбщ с icq

//print $matches[1]; // выводим id сообщения с icq

/*-------------------------*/

[/COLOR][/COLOR

Тут немного говнокода... и самое главное - получение uin и pass

PHP код:

PHP:
[
COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#FF8000"]/* Получаем сбщ с ICQ */

[/COLOR][COLOR="#0000BB"]$sep[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"u="[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]// мой говнокод.start

[/COLOR][COLOR="#0000BB"]$domain[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"http://asdasd.ru/read"[/COLOR][COLOR="#007700"];

[/
COLOR][COLOR="#0000BB"]$urlmsg[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]$domain[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$matches[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]];

[/
COLOR][COLOR="#0000BB"]$final[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]file_get_contents[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$urlmsg[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$sep[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]$user[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]// мой говнокод.end

/* Вывод ICQ */

[/COLOR][COLOR="#0000BB"]preg_match[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"#UIN(.*?)-----#si"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$final[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$match[/COLOR][COLOR="#007700"]);[/COLOR][COLOR="#FF8000"]//парсим UIN и пасс. У меня на денвере были траблы с кодировкой, решил строчкой ниже.

[/COLOR][COLOR="#0000BB"]$uin[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]str_replace[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"Пароль"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#DD0000"]"Password"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$match[/COLOR][COLOR="#007700"][[/COLOR][COLOR="#0000BB"]0[/COLOR][COLOR="#007700"]]);[/COLOR][COLOR="#FF8000"]//замена кракозябра

[/COLOR][COLOR="#007700"]echo[/COLOR][COLOR="#0000BB"]$uin[/COLOR][COLOR="#007700"];[/COLOR][COLOR="#FF8000"]//святая строка =)

/*-------------------------*/
[/COLOR][/COLOR

Весь код:

http://pastebin.com/VaRFSTRy

Скрин результата:

http://s50.radikal.ru/i128/1112/2f/52dcaa486577t.jpg

4. Нюансы

ICQ дается людям с уник. IP. С денвера на 1 ip прошло 3-4 акка. Можно прикрутить proxies.txt и сохранять результат в текстовик. Но это защита от дурака, например от меня

5. OUTRO

Статья писалась человеком, который на 99% не знаком с php Юзал гугл, поэтому "О, могучий, Google!". Спасибо...

(c) Ereee​

altblitz 11.12.2011 00:42

ТС, зачем это?

пасс вернётся обладателю уина. без твоего спроса.

Fepsis 11.12.2011 00:46

Да всё гуд, для практики в каком нить ЯПе такие релизы самое то... Думаю именно этим ТС и занимается...

Xalid 16.12.2011 18:55

Неплохая статейка для новичков

Kontik 16.12.2011 20:56

да нормальная

тема..

дайте челу развиться

не рубите с плеча..


Время: 16:00