Пишу, по большей части, про историю, свою жизнь и немного про программирование.

Shit Streamer версия 0.10 (Perl)

Всем привет! Если вы знаете, что такое Perl и не прочь активно побороться со спаммерским племенем, рекомендую прочитать этот выпуск внимательно, если нет, то все нижеизложенное можно смело пропустить.

Вчера, в очередной раз получив спамовое письмо с «деловым предложением», я, как обычно, отослал на адрес отправителя пару ругательных писем с приатачченым двухметровым файлом, в нагрузку. Хотя, я пытаюсь не обращать внимания на такие письма, иногда они меня здорово раздражают.

Так вот, вчера, отправив пару двухметровых писем, я всерьез задумался над проблемой Как Бы Мне Достать Этих Чертовых Ублюдков Спаммеров. Ответ очевиден. Все что известно мне о координатах спамера — это его e-mail и, иногда, адрес его сайта. Ломать сайт каждого спамера долго и противозаконно, значит единственный способ «достать» спамера — это сделать что-то с его ящиком.

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

Идея-максимум — не просто отправить груду писем со своего ящика, но еще и сделать так, чтобы спамер даже примерно бы не смог узнать с какого ящика или IP адреса была на него проведена атака.

Размышляя над тем, как бы это устроить, я вспомнил о «спаммерском» сервисе невольно предоставляемым интернет-изданием «Русский Журнал», я о нем уже как-то писал вот тут. Написать скрипт на Perl, который отправляет на адрес жертвы пару тысяч статей «Русского Журнала» — дело нехитрое. Мне пришло в голову, поискать сайты, предоставляющие сходные услуги и сделать скрипт легко настраиваемым, чтобы список таких сайтов можно было бы, при необходимости, менять.

Так родилась первая версия Shit Streamer’a, позволяющая целенаправленно сливать разнообразный шит в один ящик. Скачать двухкилобайтовый архив, с программой на Perl можно отсюда. Для функционирования требуются модули LWP::UserAgent и HTTP::Request::Common, поставляемые в составе библиотеки libwww. Программа писалась под Linux и как это будет работать под Windows я не знаю. Если кто-то попробует — сообщите о результате.

Все настройки находятся внутри программы, в самом конце файла, после строчки __DATA__. Там перечислены сервера и параметры к ним, передаваемые одним из методов. Если вы знаете для чего в HTML нужен тег FORM, то легко сможете добавить к списку любой другой сервер. Пояснений, думаю, требуют лишь искусственно введеный метод GEST, способ подстановки адреса e-mail в строку параметров и передача русских букв.

Первый предназначен для сайтов, где используются смешанные методы передачи параметров, т. е. GET и POST в одном запросе. Строка параметров для GET должна идти первой, параметры для POST идут сразу после второго вопроса, внутри файла есть пример.

E-mail в строке параметров обозначается, как %s и может упоминаться несколько раз — подстановка происходит через s///g, а не через sprintf.

Русские буквы в строке запроса должны передаваться в кодировке Win (CP-1251), поскольку Shit Streamer идентифицирует себя, как клиент под Windows.

При запуске Shit Streamer’у нужно указать два параметра, первый — адрес e-mail, куда польется шит, второй, необязательный — количество запросов, которое SS сделает по указанным в настройках адресам. Второй параметр напрямую влияет на количество получаемых жертвой писем. Так как некоторые сервера на момент рассылки могут не работать, другие могут принять меры к отфильтровке многократно повторяющихся запросов, реальное количество писем, которое получит жертва — 50-80% от указанной во втором параметре цифры.

SS. Внешний вид

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

Чтобы не искать ссылочку для скачивания в тексте, привожу ее в самом конце. Скачать SS можно вот отсюда.