Автоматизация работы в интернете, или Как «легально» спамить. Часть 2. Авторегистрация::Журнал СА 9.2018
www.samag.ru
     
Поиск   
              
 www.samag.ru    Web  0 товаров , сумма 0 руб.
E-mail
Пароль  
 Запомнить меня
Регистрация | Забыли пароль?
Журнал "Системный администратор"
Журнал «БИТ»
Подписка
Архив номеров
Где купить
Наука и технологии
Авторам
Рекламодателям
Контакты
   

  Опросы
  Статьи

Дата-центры  

Дата-центры: есть ли опасность утечки данных?

Российские компании уже несколько лет испытывают дефицит вычислительных мощностей. Рост числа проектов,

 Читать далее...

Событие  

В банке рассола ждет сисадмина с полей фрактал-кукумбер

Читайте впечатления о слете ДСА 2024, рассказанные волонтером и участником слета

 Читать далее...

Организация бесперебойной работы  

Бесперебойная работа ИТ-инфраструктуры в режиме 24/7 Как обеспечить ее в нынешних условиях?

Год назад ИТ-компания «Крок» провела исследование «Ключевые тренды сервисного рынка 2023». Результаты

 Читать далее...

Книжная полка  

Читайте и познавайте мир технологий!

Издательство «БХВ» продолжает радовать выпуском интересных и полезных, к тому же прекрасно

 Читать далее...

СУБД PostgreSQL  

СУБД Postgres Pro

Сертификация по новым требованиям ФСТЭК и роль администратора без доступа к данным

 Читать далее...

Критическая инфраструктура  

КИИ для оператора связи. Готовы ли компании к повышению уровня кибербезопасности?

Похоже, что провайдеры и операторы связи начали забывать о требованиях законодательства

 Читать далее...

Архитектура ПО  

Архитектурные метрики. Качество архитектуры и способность системы к эволюционированию

Обычно соответствие программного продукта требованиям мы проверяем через скоуп вполне себе понятных

 Читать далее...

Как хорошо вы это знаете  

Что вам известно о разработках компании ARinteg?

Компания ARinteg (ООО «АРинтег») – системный интегратор на российском рынке ИБ –

 Читать далее...

Графические редакторы  

Рисование абстрактных гор в стиле Paper Cut

Векторный графический редактор Inkscape – яркий представитель той прослойки open source, с

 Читать далее...

День сисадмина  

Учите матчасть! Или как стать системным администратором

Лето – время не только отпусков, но и хорошая возможность определиться с профессией

 Читать далее...

День сисадмина  

Живой айтишник – это всегда движение. Остановка смерти подобна

Наши авторы рассказывают о своем опыте и дают советы начинающим системным администраторам.

 Читать далее...

Виртуализация  

Рынок решений для виртуализации

По данным «Обзора российского рынка инфраструктурного ПО и перспектив его развития», сделанного

 Читать далее...

Книжная полка  

Как стать креативным и востребованным

Издательский дом «Питер» предлагает новинки компьютерной литературы, а также книги по бизнесу

 Читать далее...

Книжная полка  

От создания сайтов до разработки и реализации API

В издательстве «БХВ» недавно вышли книги, которые будут интересны системным администраторам, создателям

 Читать далее...

1001 и 1 книга  
19.03.2018г.
Просмотров: 6229
Комментарии: 0
Машинное обучение с использованием библиотеки Н2О

 Читать далее...

12.03.2018г.
Просмотров: 6936
Комментарии: 0
Особенности киберпреступлений в России: инструменты нападения и защита информации

 Читать далее...

12.03.2018г.
Просмотров: 4222
Комментарии: 0
Глубокое обучение с точки зрения практика

 Читать далее...

12.03.2018г.
Просмотров: 3011
Комментарии: 0
Изучаем pandas

 Читать далее...

12.03.2018г.
Просмотров: 3808
Комментарии: 0
Программирование на языке Rust (Цветное издание)

 Читать далее...

19.12.2017г.
Просмотров: 3825
Комментарии: 0
Глубокое обучение

 Читать далее...

19.12.2017г.
Просмотров: 6320
Комментарии: 0
Анализ социальных медиа на Python

 Читать далее...

19.12.2017г.
Просмотров: 3172
Комментарии: 0
Основы блокчейна

 Читать далее...

19.12.2017г.
Просмотров: 3463
Комментарии: 0
Java 9. Полный обзор нововведений

 Читать далее...

16.02.2017г.
Просмотров: 7280
Комментарии: 0
Опоздавших не бывает, или книга о стеке

 Читать далее...

17.05.2016г.
Просмотров: 10647
Комментарии: 0
Теория вычислений для программистов

 Читать далее...

30.03.2015г.
Просмотров: 12368
Комментарии: 0
От математики к обобщенному программированию

 Читать далее...

18.02.2014г.
Просмотров: 14000
Комментарии: 0
Рецензия на книгу «Читаем Тьюринга»

 Читать далее...

13.02.2014г.
Просмотров: 9127
Комментарии: 0
Читайте, размышляйте, действуйте

 Читать далее...

12.02.2014г.
Просмотров: 7079
Комментарии: 0
Рисуем наши мысли

 Читать далее...

10.02.2014г.
Просмотров: 5389
Комментарии: 3
Страна в цифрах

 Читать далее...

18.12.2013г.
Просмотров: 4617
Комментарии: 0
Большие данные меняют нашу жизнь

 Читать далее...

18.12.2013г.
Просмотров: 3428
Комментарии: 0
Компьютерные технологии – корень зла для точки роста

 Читать далее...

04.12.2013г.
Просмотров: 3158
Комментарии: 0
Паутина в облаках

 Читать далее...

03.12.2013г.
Просмотров: 3402
Комментарии: 0
Рецензия на книгу «MongoDB в действии»

 Читать далее...

02.12.2013г.
Просмотров: 3027
Комментарии: 0
Не думай о минутах свысока

 Читать далее...

Друзья сайта  

 Автоматизация работы в интернете, или Как «легально» спамить. Часть 2. Авторегистрация

Архив номеров / 2018 / Выпуск №9 (190) / Автоматизация работы в интернете, или Как «легально» спамить. Часть 2. Авторегистрация

Рубрика: Администрирование /  Автоматизация

Сергей Болдин СЕРГЕЙ БОЛДИН, системный администратор в энергетической компании, bsergey2@gmail.com

Автоматизация работы в интернете,
или Как «легально» спамить. Часть 2. Авторегистрация

Рассмотрим различные почтовые сервисы, как автоматически заполнять формы регистрации, логиниться, нажимать активационную ссылку

Автоматизация работы в интернете, или Как «легально» спамить. Часть 2. АвторегистрацияВ прошлой статье [1] мы рассмотрели различные программы от ZennoLab, как составляется алгоритм работы бота, разгадываются капчи, пишется и отправляется текст продавцу товара. Но все действия происходили от имени одного пользователя, и этот недостаток мы решили устранить. Чтобы спамить более глобально, необходимо иметь множество почтовых аккаунтов, так как для одного аккаунта устанавливаются ограничения в написании сообщений или просмотре какого-то контента. Создавать почтовые аккаунты вручную утомительно и долго, поэтому поставим этот процесс на поток c помощью интернет-роботов на примере нескольких почтовых сервисов.

Хитрости интернет-сервисов

Многие сайты применяют различные приемы для защиты от интернет-роботов, перечислю несколько известных мне:

  • разгадывание разного рода капч;
  • отправка на почту активационной/подтверждающей ссылки;
  • отправка кода/пароля с помощью смс;
  • использование временного интервала;
  • ограничение по количеству посещений страниц, открытия картинок, написания сообщений, разгадывания капч и другое;
  • при регистрации, помимо ввода основного почтового ящика, требуется указать еще и дополнительный;
  • применение всплывающих окон с описанием функций своего сервиса или же сторонней рекламой, которые могут закрывать нужные кнопки или часть меню;
  • использование различных инструментов для определения ботов по IP-адресу, спам-словам, электронным адресам, повышенной активности.

Зная об этом, можно обучить робота обходить данные ограничения и оставаться незамеченным.

Авторегистрация в Яндексе

Одним из популярных почтовых сервисов является Яндекс.Почта. Воспользуемся его услугами.

Сначала в программе ProjectMaker настраиваем профиль [2], который необходим для генерации данных и дальнейшей подстановки в поля на формах регистраций. Профиль состоит из двух частей (см. рис. 1):

  • первая (Profile) находится на нижней панели инструментов, в которой настраиваются национальность, местоположение, логин, пол, возраст, браузер,
  • а вторая (Человек) расположена на верхней панели инструментов, в ней видны все сгенерированные данные.

Рисунок 1. Настройка профиля

Рисунок 1. Настройка профиля

Далее переходим на сайт yandex.ru, нажимаем ссылку Завести почту. На регистрационной форме в первом поле Имя нажимаем правой кнопкой мыши, в контекстном меню выбираем В конструктор действий и опускаемся вниз экрана коткрывшимся настройкам. Чтобы поле Имя получило рандомное значение, необходимо выбрать точку Set, в выпадающем списке Атрибут выбрать пункт Value, а в поле Значение нажать правой кнопкой мыши и выбрать в контекстном меню Установить значение из профиля → Фамилия (см. рис. 2).

Рисунок 2. Подстановка сгенерированных данных

Рисунок 2. Подстановка сгенерированных данных

После этого в поле Значение появится переменная {-Profile.Name-}, затем нажимаем кнопку Добавить в проект. Таким образом, проходим все компоненты на форме, подставляя сгенерированные значения переменных из профиля и создавая алгоритм работы бот-программы.

В данном варианте мы будем регистрироваться без ввода номера телефона, нажав на ссылку У меня нет телефона. В этом случае появится три дополнительных поля, где нужно выбрать контрольный вопрос, ввести ответ на него и разгадать капчу. Тут более простая капча, нежели в OLX.

Чтобы ее разгадать, нужно на ней нажать правой кнопкой мыши, в контекстном меню выбрать пункт Это капча, появится нужный экшн для добавления его в алгоритм. В параметрах экшна нам необходимо выбрать модуль CapMostr2.dll и создать переменную, например capcha, значение которой вставится в требующее его поле.

После этого добавим еще в алгоритм экшн Пауза со значением пять секунд, так как не всегда правильно отрабатывает следующее действие нажатия на кнопку Зарегистрироваться. Если все гладко прошло, то сервис Яндекс откроет только что созданный почтовый ящик.

Внутри открывшегося почтового ящика сразу будет множество окон с различными вопросами и предложениями, и это нужно учесть, так как их необходимо корректно закрыть, а затем разлогиниться. Для этого в алгоритм мы переносим уже известные нам компоненты с событием нажатия на кнопки (ПропуститьЗакрытьНапомнить позже и другие), а также между ними поставим интервал по три секунды.

После выхода из почтового ящика данные (нам достаточно логина и пароля) нужно куда-то сохранить. Для этих целей в программе ProjectMaker имеется несколько экшнов:

  • Файлы,
  • Базы данных,
  • Список,
  • Таблица.

Мы применили экшн Файлы. Сначала на диске создается текстовый файл, затем в экшне указывается действие (нам нужно Записать текст), путь к файлу, активируются галочки Дописать файл и Записать перенос строки в конец, чтобы новая запись была с новой строки, а в текстовом поле Что писать нужно записать переменные, содержащие значения логина и пароля из профиля, а также мы еще добавим домен и разделители. Строка с переменными будет выглядеть так:

{-Profile.Login-}@yandex.ru---{-Profile.Password-}

После этого запускаем проект в программе ZennoPoster. Примерно в течение часа файл содержал около 40 записей. На разгадывание капч уходило три – пять секунд, так как Яндекс не использует сложные капчи, поэтому и скорость работы робота высокая. Алгоритм работы бота-авторегистратора для почтового Яндекс-сервиса можно увидеть на рис. 3.

Рисунок 3. Алгоритм работы бота для Яндекса

Рисунок 3. Алгоритм работы бота для Яндекса

Авторегистрация в MailRu

Воспользуемся еще одним популярным почтовым сервисом Почта Mail.Ru, пройдя проверку на робота другим способом.

Создаем новый проект, добавляем в алгоритм нужные компоненты, форму регистрации заполняем по принципу Яндекса. Доходим до поля Телефон, где требуется ввести номер телефона, чтобы получить смс-код активации. Для этого случая в ProjectMaker имеется экшн SMS-сервисы. Чтобы его задействовать, нужно сначала воспользоваться услугами любого смс-сервиса, например 5SIM, Get-SMS, Give-SMS, Simsms, SMSAktiwator, SMS Activate, Smska, Sms-reg, VirtualSMS. Они предоставляют возможность использовать временный номер для получения смс онлайн, но за свои услуги требуют оплату.

Мы воспользовались смс-сервисом 5SIM [3]. За 50 руб. у нас в распоряжении было 50 смс, а также код подтверждения, который вводится в поле Секретный ключ в настройках программы ProjectMaker, пройдя Старт → Настройки → СМС.

Теперь добавим в алгоритм два компонента SMS-сервисы и настроим их. Данный экшн имеет несколько видов действий (см. рис. 4).

Рисунок 4. Создание почтовых аккаунтов в MailRu

Рисунок 4. Создание почтовых аккаунтов в MailRu

Первый нужен для генерации номера телефона, на который отправится код подтверждения регистрации. В параметрах этого экшна в выпадающих списках выбираем FiveSimSms.dll и Получить номер, в поле Сервис нужно вписать mailru(без www и «.», найти название можно на сайте смс-сервиса), затем вписываем название оператора и создаем две переменные – для ID-активации (num_id) и номера телефона (number). После этого нужно еще добавить экшны для нажатия на кнопку и паузы.

Второй экшн SMS-сервисы будет принимать смс, считывать полученный код и вставлять его в требуемое поле. Для этого в настройках данного экшна в выпадающих списках выбираем FiveSimSms.dll и Получить статус, в поле ID активации вводим переменную от первого экшна, в нашем случае она выглядит так:

{-Variable.num_id-}

а в последнем поле Положить в переменную создадим переменную, например get_status (см. рис. 4).

В следующем компоненте Установка значения мы получим значение переменной get_status, содержащей код, который в свою очередь впишется в поле на форме регистрации. И снова добавляем несколько экшнов с паузами и для нажатия на кнопки.

В самом конце расположим два компонента Файлы, чтобы сохранять получившиеся логины и пароли, соответствующие переменные выглядят так:

{-Profile.Login-}@mail.ru---{-Profile.Password-}

Если ориентироваться на время, то примерно в течение часа в файле было 20 записей. Время на получение смс и определение содержащегося в ней кода занимает около двух-трех минут, и это считается быстро, так как время отклика может достигать и 10-15 минут.

Авторегистрация в OLX

Когда у нас в наличии имеется множество почтовых аккаунтов, следует перейти к следующему этапу – автоматической регистрации на польском сайте объявлений www.olx.pl. Мы уже умеем активировать аккаунт с помощью смс, поэтому рассмотрим иной случай – как обучить робота находить активационную ссылку в почтовых письмах.

В программе ProjectMaker создаем новый проект – новый бот с новыми задачами. Заходим на сайт объявлений, открываем форму регистрации, заполняем поля, как описано выше, доходим до ввода логина (почтового ящика). Из имеющегося текстового файла нам нужно брать логины и пароли, то есть вычитывать строки, учитывать знаки разделения, подставлять в поле на форме.

Чтобы вычитать содержимое файла, нужно использовать компонент Списки и подключить к нему файл. Делается это в настройках списка, указывая путь к файлу, устанавливая галочки Загружать из файлаСохранять изменения списка в файлОставлять пустой файл, сразу же можно просмотреть и содержимое (см. рис. 5).

Рисунок 5. Настройка списка

Рисунок 5. Настройка списка

Далее в алгоритм добавляем экшн Операции над списком, в его настройках нужно выбрать действие и соответствующий ему параметр. В нашем случае действие – это Получить строку, а параметр – Первую, затем нужно создать переменную, в которую будет ложиться полученный результат. У нас она называется from_file.

Тут стоит сказать о небольшом неудобстве: считывать строки из файла без удаления нельзя, нужно обязательно в свойствах экшна Операции над списком активировать галочку Удалить строку после взятия (см. рис. 5). Именно по этой причине при авторегистрациях мы использовали по два компонента Файлы с одинаковыми настройками, чтобы в дальнейшем один из них оставался неизменным.

Так как в файле логин и пароль мы разделяем символами «---», а список позволяет вычитать целиком строку, то необходимо применить регулярное выражение, позволяющее «откусить» часть строки. Для этого мы добавили два экшна Обработка текста, чтобы по отдельности вычитать логин и пароль.

В свойствах первого выбрали Regex, создали переменную mail_login и написали регулярное выражение [4] " .*(?=---) ". Такое выражение означает, что нужно считать все символы до разделителя «---» .

Второй экшн по настройкам похож на первый, только переменная будет mail_passw, а регулярное выражение выглядит так: " (?<=---).* ".

Принцип регистрации на сайте объявлений такой же, как и почтового аккаунта, – перейти на форму регистрации, добавить необходимые экшны в алгоритм и следить за заполнением полей. На почту будет отправлена ссылка активации аккаунта. Вот на этом остановимся подробнее.

Для работы с почтой добавляем в алгоритм компонент Принять почту (самый объемный по количеству настроек). На первом шаге нужно заполнить некоторые поля для подключения к почтовому сервису:

  • Email и пароль: вставляем переменные {-Variable.mail_login-} и {-Variable.mail_passw-}, значения которых передадутся от экшна Обработка переменных.
  • Сервер и порт: imap.mail.ru и 993.
  • Использовать SSL и протокол: TRUE и IMAP.
  • Имя пользователя: здесь указываем любое значение, например логин от почтового ящика {-Variable.mail_login-}.
  • Регулярное выражение: .*olx.pl.*.
  • Положить в переменную: activate_accaunt.

На втором шаге нажимаем на кнопку Скачать письма, чтобы увидеть весь список полученных писем, а затем жмем кнопку Искать письмо, что даст найти только одно письмо относительно первого регулярного выражения (см. рис. 6).

Рисунок 6. Настройка получения писем

Рисунок 6. Настройка получения писем

Третий шаг заключается в поиске активационной ссылки внутри найденного письма, в нашем случае это кнопка с названием Aktywuj konto, имеющая длинный URL-адрес вместе со стилями, сократим его точками:

<a id = "confirmLink"
   href="https://www.olx.pl/konto/confirm/?email=......=link" 
   style="width:....:#ffffff"><strong>Aktywuj konto</strong>
   </a>

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

(?<=href=")https://www\.olx\.pl/konto/confirm/\?email=.*(?=style=")

На четвертом шаге найденному результату требуется присвоить переменную, назовем ее activate_accaunt_olxpl (см. рис. 6).

После экшна Принять почту в алгоритм добавляем компонент Перейти на страницу, а в его свойствах в поле URL пишем переменную

{-Variable.activate_account_olxpl-}

которая будет содержать в себе активационную ссылку. Весь алгоритм можно увидеть на рис. 7.

Рисунок 7. Алгоритм работы авторегистрации в ОLX

Рисунок 7. Алгоритм работы авторегистрации в ОLX

Время работы данного робота более длительное, нежели у предыдущих двух, потому как в OLX используется более сложная капча (reCaptcha2), ее не всегда получается разгадать даже с трех-четырех раз, а иногда и вовсе не выходит.

Еще о некоторых компонентах

Расскажем еще о часто используемых компонентах.

Экшн Оповещение носит информационный характер, он может выводить на экран любой текст или значения переменных. Например, для почтового экшна мы применили следующее оповещение: «Данных уже нет, файл пуст», а также отображение сгенерированных номеров телефонов и кодов подтверждения при регистрации почтовых аккаунтов. Также с помощью данного компонента мы в алгоритме смогли легко зациклить процесс разгадывания капч при наличии неразгаданных (см. рис. 7).

Компонент Настройки (относится к браузеру) содержит в себе большой перечень действий на выбор. Он может включать/выключать отображение картинок, JavaScript, анимационный контент на Flash, Java, Silverlight и с тэгами <audio> и<video>, всплывающие окна, загрузку плагинов и стилей браузера, рекламу, эмуляцию геопозиции, очищать кэш и куки, обрабатывать запросы подтверждения, ввода данных и авторизации и другое.

Логические экшны If и Switch. В If используются операторы больше, меньше, равно, не равно, И, ИЛИ, больше или равно, меньше или равно, после чего он имеет две ветки для соответствующего результата – «Да», «Нет».

Компонент Switch может иметь несколько веток с результатами «Да» и только лишь одну «Нет».

Данные экшны применяют при необходимости устроить какую-то проверку, например наличие кнопки на странице сайта, ссылки или окошка с вопросами, прошел ли нужный результат, правильно ли взяты данные и так далее.

Спамим по-крупному

Для массовой рассылки сообщений продавцам на сайте объявлений необходимо сделать мелкие доработки.

Для бота-спамера заменяем первую часть алгоритма – добавляем ему экшны считывания и обрезки данных из файла, как описано выше. Также добавляем компонент для связи с ProxyChecker, чтобы скрывать IP-адрес компьютера, подставляя «живые» прокси-адреса из имеющегося перечня.

Для статистики мы считаем, сколько средств уходит на смс-сервис, сколько почтовых аккаунтов создается и сколько задействуется, а сколько из них забанено, сколько времени тратится на отправку 1000 сообщений, сколько расходуется электроэнергии и т.д. Какую-то часть статистики мы выводим через компонент Оповещение, а какую-то сохраняем в файл, таблицу и базу данных.

Работа в команде

У нас имеется как минимум четыре бота: два выдают почтовые аккаунты сервисов Яндекса и MailRu, один производит регистрации на сайте объявлений, один рассылает текстовые сообщения продавцам. Добавляем все боты в программу ZennoPoster, чтобы они трудились вместе.

Одновременная работа четырех ботов (см. рис. 8) заставляет задуматься о мощности компьютера. При такой нагрузке процессор работает примерно на 60% больше, а памяти задействуется на 10% больше (см. рис. 9), нежели при обычной офисной работе.

Рисунок 8. Программа ZennoPoster

Рисунок 8. Программа ZennoPoster

Рисунок 9. Загруженность компьютера

Рисунок 9. Загруженность компьютера

Достоинства: всю монотонную работу выполняет робот, а следовательно, отбрасывается человеческий фактор, увеличивается скорость работы, быстро происходит отладка, так как визуально видно, на каком компоненте произошла остановка.

Недостатки: нельзя считывать строку из файла без ее последующего удаления, нельзя работать напрямую с содержимым файла, а нужно подключать к нему компонент Списки, при открытии параметров экшна в конструкторе в поле Значение остаются переменные от предыдущего компонента, нельзя изменить существующую переменную, а можно создавать только новую, при открытии программы ZennoPoster требуется закрыть Skype.

Мы рассмотрели более расширенный вариант использования интернет-роботов, различные сервисы, новые компоненты и их настройки, научились создавать боты-спамеры и боты-авторегистраторы. Мы ставим их работу на поток, облегчая в разы работу в интернете по рассылке своих предложений продавцам. Таким образом мы продолжаем «легально» спамить, но только уже по-крупному.

  1. Болдин С. Автоматизация работы в интернете, или Как «легально» спамить. // «Системный администратор», № 5, 2018 г. – С. 10-17. URL: http://samag.ru/archive/article/3644.
  2. Настройка профиля пользователя – https://zennolab.com/wiki/ru:actions:profile.
  3. СМС-сервис 5SIM – https://5sim.net/.
  4. Символы и параметры регулярных выражений – https://zennolab.com/wiki/ru:creating-a-regular-expressions.

Ключевые слова: почтовый аккаунт, смс-сервис, авторегистрация, форма, экшн, профиль, алгоритм, интернет-робот, значение, переменная, генерация, бот-программа, нажатие кнопки, логин, пароль, работа, компонент, поле, активационная ссылка, регулярное выражение, вычитать.


Комментарии отсутствуют

Добавить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

               Copyright © Системный администратор

Яндекс.Метрика
Tel.: (499) 277-12-45
E-mail: sa@samag.ru