Лёгкий способ добыть много валидных почтовых адресов
Итак, как все, наверное, знают, у МейлРу есть своя сеть для обмена мгновенными сообщениями, которая состоит из пользователей главного сервиса компании — почты. А МейлРу на данный момент стандарт де факто в выборе почты (хотя многие сейчас мигрируют в gmail.com). Другими словами, у этой компании сейчас самое большое количество рабочих адресов, не считая, быть может, Контакта.
В чём, собственно, суть проблемы: для авторизации в качестве логина и уникального идентификатора используется почтовый адрес пользователя. Так как в протоколе присутствует функция поиска контактов (что вполне логично), а в выдаче есть адрес, то спокойно можно сделать граббер валидных почтовых адресов. И даже больше — можно делать поиск по критериям (возраст, страна, пол) и находится ли контакт онлайн. По умолчанию в mAgent’е включена функция оповещения пользователя при получении нового письма на почтовый ящик. Что в результате имеем? Ищем людей из определённой целевой аудитории онлайн, отправляем им спам, они даже получат извещение о новом письме и вполне вероятно его прочитают.
Не-не, если я опять напишу «что заставило разработчиков бла-бла-бла», то начну уже повторяться. Скажу проще, сделать идентификатор пользователя (что бы через него отправлять ему сообщения и так далее) каким-нибудь уникальным id, а чужую почту вообще нигде не светить (надо будет людям узнать — сами спросят у собеседника), проблема бы отпала сама собой. И, заметьте, что логиниться можно было бы оставить и через почтовый адрес. Да-да, я знаю, «ты один такой самый умный, а в МейлРу одни дураки сидят и без тебя, конечно, не знают как правильно».
Что делать с полученными адресами:
1. Спам рассылать, в основном. Имея настоящее имя пользователя (а оно тоже есть в выдаче поиска, хотя моя программа и не выдаёт его), можно сделать спам/лохотрон более достоверным.
2. Побрутить на qwerty или день рождения пользователя (и он есть в выдаче поиска), и у нас есть рабочий почтовый аккаунт со всей перепиской.
Писал на php, требований к модулям/пакетам никаких, главное, что б fsockopen работал. 200 строк, 6 часов работы, включая время на изучение протокола. Находит по ~450 адресов в минуту.
Что касается протокола. Хоть спецификация и есть, однако долго её не обновляли. Пакет MRIM_CS_CHANGE_STATUS изменился и стал крупнее. MRIM_CS_LOGIN2 вообще увеличился в разы. В нём теперь передаются какие-то недокументированные вещи, включая название ОСи, процессора и видеокарты. Помнится мне, ещё не так давно их не было.
Собственно, вот программа. Внимание, она дана в ознакомительных целях. Не надо её использовать по назначению. Ах да, мне всегда говорят, что код у меня кривой, и сам я дурак — заранее со всеми соглашусь. В программе не предусмотрено никаких внештатных ситуаций типа того, что кто-то зашёл на этот же аккаунт.
И ещё, для захода на сервер, конечно же, требуется учётная запись в MailRu, но используйте ту почту, которую вам не жалко потерять, мало ли как компания отнесётся к таким шуточкам.