Как написать программу спамер

Содержание

Сегодня будем писать простенький скрипт на Питоне, который будет проводить спам атаку в сторону нашей жертвы.
Механизм работы кода прост, он пишет выбранное нами слово и нажимая ‘Enter’ отправляет его нашей жертве.
Инструкция написана так, чтобы даже ребенок понимал каждый шаг, так что особых знаний тут не надо, кроме умения пользоваться мышкой и клавиатурой.

Сначала создадим папку и там же два блокнота, один с них сохраняем, дав название «script.py», второй называем, как «text.txt».
В первый файл будем писать наш код, в второй файл вставим текст на ваш выбор ( ТОЛЬКО НА ЛАТИНИЦЕ ).

Импортируем модули для автоматизации и заморозки сценария:

Модуль «Time» нужен нам для того, чтобы мы успели активировать поле ввода, прежде чем скрипт начнет спамить.

Теперь создаем первую функцию, роль которой «стрелять» одним сообщением N-ое количество раз:

Затем создаем вторую функцию, которая уже отправляет текст вписанный в наш блокнот:

Подходим уже к концу, осталось лишь добавить «панель управления»:

Как сделать спам бота на python

Осталось лишь найти текст песни/стих или что-то там еще на английском языке и вставить его в наш «text.txt».

Для тех кому лень найти:

По неизвестным мне причинам, скрипт НЕ пишет слова или текст на кириллице, только на латинском.
Чтобы остановить работу нашей машины, нажмите на командую строку и выполните комбинацию Ctrl + C, либо просто закройте командую строку.

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

Также приложил видео с обзором работы скрипта:

Это моя первая статья и в Python’e я лишь новичок, так что строго не судите.

Алексей Лавриненко | Oleksiy Lavrynenko — PR, SMM, WEB

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

В принципе, основы по отправке электронного письма с помощью Pyhton я рассматривал в этой записи. Фактически, от создания спам-машины нас отделяет работа со списком получателей, и адресами, с которых мы будем производить отправку писем (уверен, вы понимаете, что отправлять, например, миллион электронных писем с одного ящика — не эффективно, и обречено на провал). А значит, наша задача будет выглядеть следующим образом:
1. Обрабатываем список адресов, которые нужны для рассылки (конечно, можно поставить свой smtp-сервер, и работать через него, но это — другая история )
2. Обрабатываем список адресов, на которые будем производить рассылку
3. И — сама рассылка.

Я решил немного скорректировать задачу, и программа, представленная ниже будет состоять из трех частей:

Пишем Telegram спамер на Python при помощи PyAutoGUI!


1. Функция, отвечающая за генерацию адресов для рассылки (все адреса генерируются случайным образом, аналогично генерируются пароли к ним, и все это сохраняется в Excel-файл)
2. Функция, отвечающая за создание списка адресов — получателей. Адреса генерируются аналогично с пунктом выше, только без паролей, и сохраняются в текстовый файл.
3. Функция, которая будет производить рассылку. Учитывая, что описанная задача представляет собой чисто умозрительный пример — вы сможете адаптировать код под собственные нужды

Как всегда — полный код программы доступен на Git С вопросами — добро пожаловать на почту, или в Telegram

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

Статья Пишем простой спамер web form. Часть 1

spam png

Привет codeby.net!
С наступающим новым годом и рождеством.

Суть данной статьи показать еще один вектор атаки которая не сложна в реализации но достаточно эффективная при правильном использовании. Постараюсь максимально простыми словами описать как самому написать спамер web form.

Бывает случаи когда нужно подпортить бизнес в интернете. Ситуации когда такое может случиться бывают разные. Речь пойдет о сайтах такого рода как интернет магазины или сервисы по бронированию чего либо, суть которых обработка заказов через свой сайт. Одним из вектором атаки может стать спам. Суть которого заключалась сделать так чтобы стало невыносимо обрабатывать заказы.

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

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

Для того чтобы реализовать задуманное нам понадобиться python и библиотека requests.

Предположим сайт который мы хотим заспамить находиться по адресу https://site.local на нем есть форма «заказа трансфера». Она включает в себя четыре поля:

Перед тем как начать писать код нам надо собрать некоторые данные о самой форме.

Для того чтобы понять куда нам надо отсылать данные и какие данные нужны воспользуемся devtools который входит в состав любого браузера. В chrome его можно открыть нажав F12.
Перейдем на вкладку Network и очистим все запросы чтобы легче было найти нужный запрос после отправки формы.

Не закрываем devtools заполняем форму и нажимаем отправить. После того как нажали отправить сразу побегут запросы. Наша задача найти нужный. Для более быстрого поиска отфильтруйте по методам, post методы должны быть сверху.

Если данной колонки нет нажимаем правой кнопкой мыши на status и выбираем method. Затем начинаем искать запрос. Нажимаем на каждый запрос и ищем содержимое form data которое будет соответствовать заполненным данным при оправке.

В Form Data мы видим какие данные нам потребуется передать чтобы все конкретно отработало. Чуть выше во вкладке General показано на какой url был отправлен запрос.

Позже он нам понадобиться как и имена параметров в Form Data. Также на вкладке Response мы можем увидеть ответ сервера. На каждой форме ответ может быть разные. В моем случаи это json который содержит . В последующем я воспользуюсь данным ответом что бы понять успешно ли был выполнен запрос.

И так на этом сбор данных закончен. Теперь у нас есть все что бы приступить к написанию спамера.

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

Читайте также:
Программа для обновления 4pda

В какой то момент данный спамер перестанет работать, так как добавят капчу или подтверждение по sms. Но это не проблема, подобные меры защиты обходяться в считанные минуты или часы, в зависимости от задачи и требует небольших вложений на оплату таких сервисов как rucaptcha.

Для того что бы бота было сложнее вычислить можно имитировать поведения человека с использованиям selenium. Если будет интересно могу описать как сделать простой спамер web form с использованием selenium.

Пишем чат бота для ВКонтакте на python с помощью longpoll

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

Ну прям совсем для новичков

Как оно работает?

Long Polling — это технология, которая позволяет получать данные о новых событиях с помощью «длинных запросов». Сервер получает запрос, но отправляет ответ на него не сразу, а лишь тогда, когда произойдёт какое-либо событие (например, придёт новое сообщение), либо истечёт заданное время ожидания.

Говоря русским языком, мы отправляем на сервер запрос, а он в свою очередь тыкает вконтакте если там произойдёт что либо, например, нам придёт сообщение он бежит и говорит об этом нам. От этого и будем плясать.

Техническая реализация

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

Замечание, ребята из ВК рекомендуют использовать в качестве логина номер телефона т.к. иначе можно нарваться на проверку антиробот, ту самую где тебя просят ввести недостающие цифры из номера телефона.

Если бот будет сидеть в группе то авторизация выглядит по другому.

— Что такое токен?
— Такая штука из циферок и буковок которую нужно получить в настройках группы. Для этого достаточно открыть раздел «Управление сообществом» («Управление страницей», если у Вас публичная страница), выбрать вкладку «Работа с API» и нажать «Создать ключ доступа».

Теперь вызовем longpool.

В сообщениях может быть не только заданный вами текст. Например:

А ещё можно прикреплять картинки.

Можно придумать ещё много всего интересного, но тут подумайте сами, а я лишь скажу что: ссылки можно делить на части. Например:

и никто не запретил нам получать ответ от пользователя на примере Википедии:

Ссылки на примеры и документацию

На этом я с вами попрощаюсь. Хорошего кодинга.

Создание простого чат-бота в VK на Python 3

Создание основы для работы бота будет состоять из следующих этапов:

Для кого эта статья?

Статья рассчитана для начинающих программистов. Метод работы программы очень прост и любой, кто умеет разбираться в синтаксисе Питона и немного знающий ООП сможет его реализовать для своих нужд. Но в принципе даже не зная никаких принципов ООП, думаю можно научиться добавлять простые функции или хотя бы в крайнем случае использовать готовые исходники из GitHub.

Что есть в этой статье?

Создание основы бота. После этого его можно будет запрограммировать как-угодно. Автоматизировать какую-то рутину или использовать как собеседник.

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

Добавление функции передачи погоды. Научим бота говорить нам погоду.

Создание бота в ВК

Начнем мы с создания бота, а именно группу в ВК.

Для это нужно зайти в «группы» → «создать сообщество».

Выберите любой тип сообщества и введите название, тематику группы.

На открывшейся странице настроек, выберите «Работа с API»

Далее, необходимо создать API-ключ.

Затем выберите нужные вам параметры с доступом для вашего API-ключа.

Скорее всего, вам придётся подтверждать действие в ВК с помощью мобильного телефона. Затем скопируйте полученный API-ключ где-нибудь в файл. Он нам еще понадобится.

Затем нужно разрешить сообщения. Для этого переходим в «сообщения» и включаем их.

Приступим к программной части бота

Стоп-спам для «Телеграма». Как написать и задеплоить бота на TypeScript за полчаса

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

На самом деле создать чат-бота для Telegram с имеющимися инструментами стало максимально просто, что я и собираюсь продемонстрировать в этой статье. Буквально за полчаса мы с тобой напишем достаточно сложного антиспам-бота на Node.js с использованием TypeScript 3 и хранением записей в MongoDB, а после закинем его на Digital Ocean и настроим быстрый и бесплатный CI на основе простых веб-хуков GitHub. Конечно, можно было бы развернуть все и на «Докере», но, думаю, новичкам в программировании сложнее разбираться с этой магией. Сегодня только олдскул!

Настройка окружения

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

В качестве IDE (или текстового редактора, смотря какого лагеря этого холивара придерживаться) я воспользуюсь VSCode. Хранить код буду на GitHub. Скачай и установи себе VSCode, а затем зарегистрируйся на GitHub.

Первым делом стоит установить то, на чем мы будем писать проект, — Node.js. Можно стянуть инсталлятор c официального сайта, но я крайне рекомендую использовать NVM — менеджер версий для Node.js, который позволяет не только установить разные версии, но и переключаться между ними. Установить его можно из официального репозитория следующей командой:

$ curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

Советую использовать наиболее актуальную команду из репозитория Readme. Не забудь перезапустить терминал после установки NVM. После стоит установить сам Node.js. У меня одиннадцатая версия, но все последующие, в принципе, должны работать примерно так же. Установим последнюю версию «Ноды»:

$ nvm install node

Если после выполнения $ which node терминал выдает папку, то все прошло успешно. Вместе с Node.js ставится и менеджер пакетов NPM, который мы заменим на более быстрый yarn . Пропиши следующую команду, чтобы установить его:

$ npm install -g yarn

Без опций npm и yarn добавляют и устанавливают пакеты в открытую папку проекта. Однако если к npm добавить флаг -g , то пакет установится прямо в систему (на самом деле в пользователя — но углубляться не будем) и будет доступен как отдельное приложение. Таким образом, мы установили yarn отдельным приложением и уже будем использовать его. Время заставить yarn установить TypeScript 3 глобально! Делается это не флагом, а отдельным аргументом при вызове:

$ yarn global add typescript

Одна команда — и у тебя в системе теперь есть TypeScript. Вся мощь Unix на кончиках пальцев!

Последний кусочек пазла — это база данных MongoDB, которую мы и будем использовать для этого проекта. MongoDB — база данных типа NoSQL, что означает отсутствие очевидных связей между таблицами при помощи связных таблиц (или join tables), но зато дает упрощенную структуру данных в читабельном виде и простейшие миграции. Человеческим языком: эффективных связей между объектами быть не может, но разрабатывать проще.

Проще всего установить MongoDB с официального сайта. Разработчики будут всячески пытаться продать тебе собственное хранилище базы данных (БД) в облаке — не ведись на провокации. Все хранилища БД в облаках дешевые только до первых 10 тысяч пользователей, дальше тебя начнут разорять. Мы поднимем собственное облако для БД с блек-джеком и прочими атрибутами.

Читайте также:
Как называется сборка программ

Также есть и официальный туториал по установке MongoDB на «Мак» через терминал — именно это я и советую сделать. Заодно и homebrew себе поставь, лишним точно не будет.

На этот момент у тебя должны быть установлены:

  • Node.js;
  • Yarn;
  • TypeScript;
  • MongoDB.

Если все установлено и работает, смело продолжай читать туториал. Если что-то не получилось, дальше будет слишком тяжко, лучше поправить сейчас.

Тест-драйв

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

Создай в любом месте у себя на компьютере (у меня есть удобная папочка ~/code , где я держу все проекты) папку shieldy_bot и зайди в нее в терминале. В папке проекта пропиши

$ yarn init

Эта команда задаст тебе ряд вопросов и создаст проект вместе с файлом package.json — это тот самый мастер-файл, на который будет смотреть Node.js при запуске проекта. Обязательно укажи dist/index.js в качестве entry point (точки входа) — чуть позже я расскажу зачем.

Таким образом я настроил свой проект

Другие статьи в выпуске:

Xakep #235. Возрождение эксплоит-китов

  • Содержание выпуска
  • Подписка на «Хакер» -60%

Создай файл index.js в папке dist в папке проекта. Внутри пропиши лишь одну строку: console.log(‘Hello world!’) . В файл package.json добавь скрипт start вида node dist/index.js .

Примерно так должен выглядеть проект

INFO

Здесь и далее: команды Unix должны выполняться в папке проекта, если не сказано иначе.

Вперед: запусти команду $ yarn start , и ты должен увидеть Hello world! в своей консоли. Если так и произошло — успех, Node.js работает! Теперь проверим TypeScript. Но сначала установим его прямо в проект.

$ yarn add typescript
< «compilerOptions»: < «module»: «commonjs», «target»: «es2017», «lib»: [«es2015»], «moduleResolution»: «node», «sourceMap»: true, «outDir»: «dist», «baseUrl»: «.», «paths»: < «*»: [«node_modules/*», «src/types/*»] >>, «include»: [«src/**/*»] >

Вдаваться в подробности, что это за файл и как он работает, я не буду: это задача вне текущего руководства. Стоит лишь отметить, что мы берем TypeScript-файлы из src , конвертируем в стандарт es2017 и кладем в папочку dist .

Добавили шаг компиляции TS

Теперь перед каждым запуском $ yarn start тебе нужно запускать команду $ tsc , чтобы компилировать код TS в JS. К слову, можно еще и использовать $ tsc -w . Флаг -w заставит tsc перекомпилировать файлы, которые изменяются, при их сохранении. Удобно! Но еще удобнее будет поменять команду start из package.json на tsc node dist/index.js — тогда каждый раз при запуске $ yarn start будет запускаться и tsc .

Запусти $ yarn start , предварительно добавив или запустив $ tsc вручную. Ты должен увидеть выплюнутую консолью строку «Жизнь за Харамби».

Если все получилось, то поздравляю: ты настроил окружение для разработки и теперь знаешь, что TypeScript работает. Теперь настроим контроль версий!

Git

Наш механизм Continuous Integration (CI) будет основан на веб-хуках GitHub. Запушил в репозиторий — и код сразу же развернулся на сервере в продакшене. Поэтому никак нельзя обойти стороной контроль версий.

node_modules dist .env

Это позволит избежать коммитов с пакетами из NPM (в идеале они должны устанавливаться теми, кто качает репозиторий с кодом), скомпилированным кодом (он должен компилироваться тем, кто качает репозиторий) и переменными окружения, куда мы добавим разного рода информацию, наподобие местонахождения нашей БД. Информация из .env не должна ни в коем случае попасть на GitHub, а в зависимости от окружения (разработка, тестовый или боевой сервер) должна отличаться.

Теперь инициализируем репозиторий Git, добавим все файлы в систему контроля версий и закоммитим их следующими командами:

$ git init $ git add . $ git commit -m «Initial commit»

Думаю, на этом с контролем версий и закончим — главное, не забывай, что в случае пожара делаем add , commit , push . Также стоит отметить, что, хоть к «Гиту» мы вернемся только ближе к концу статьи, смело делай commit и push на свое усмотрение.

Пишем бота-автоответчик

771096498:AAHZOrCZZpdDu1boI6hwf_m3PSYWXKK660M

Если что, этот токен уже не актуален, так что все же сделай свой. Мы его добавим в файл .env , который теперь должен выглядеть так:

TOKEN=771096498:AAHZOrCZZpdDu1boI6hwf_m3PSYWXKK660M

.env — это файл для переменных окружения. Так как мы добавили его в gitignore , он не только не будет загружен на GitHub, но еще и не будет доступен людям и сервисам, которые захотят клонировать репозиторий. Более того, контроль версий его вообще видеть не будет, так что на разных серверах (и даже просто в разных папках) ты всегда сможешь указать разные файлы .env . Например, для тестового сервера и боевого.

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

Теперь у тебя в проекте установлен модуль dotenv с его типами. Стоит отметить, что сразу несколько пакетов можно устанавливать, указав их через пробел команде $ yarn add . Также типы из Definitely Typed не обязательно ставить для каждого пакета зависимостей — велика вероятность, что пакеты уже будут идти со своими типами, прописанными разработчиками. Все-таки TypeScript уже давно на рынке и успел понравиться многим.

Перепишем наш index.ts следующим образом:

// Зависимости import * as dotenv from ‘dotenv’ // Настраиваем dotenv dotenv.config(< path: `$/../.env` >) // Принтим токен console.log(process.env.TOKEN)

INFO

Здесь и далее я подразумеваю, что ты запускаешь и тестируешь свой код, сначала скомпилировав его при помощи команды $ tsc , а потом запустив с $ yarn start .

После запуска твоя консоль должна выдать такую строчку:

771096498:AAHZOrCZZpdDu1boI6hwf_m3PSYWXKK660M

Если это так, то все в ажуре — переходим к непосредственному написанию бота. Использовать мы будем библиотеку Telegraf, она на данный момент самая продвинутая. Поставим ее командой $ yarn add telegraf — типы ставить не нужно, они идут в пакете с основным кодом.

Изменим наш index.ts на что-то такое:

// Зависимости import * as dotenv from ‘dotenv’ import < Telegraf, ContextMessageUpdate >from ‘telegraf’ const telegraf = require(‘telegraf’) // Настраиваем dotenv dotenv.config(< path: `$/../.env` >) // Создаем бота const bot: Telegraf = new telegraf(process.env.TOKEN) // Отвечаем тем же текстом, что и был прислан bot.on(‘text’, ctx => < ctx.reply(ctx.message.text) >) // Включаем бота bot.startPolling()

Давай разберем код и посмотрим, что же он делает.

  1. Импортируем все зависимости, с которыми будем работать. Здесь важно отметить, что из-за неидеальности типов Telegraf нам приходится не только импортировать дополнительный тип ContextMessageUpdate , но и сам telegraf импортировать олдскульным require , поэтому нам приходится ручками прописывать тип у переменной bot . Обычно TypeScript угадывает типы автоматически.
  2. Импортируем все переменные из файла .env , чтобы можно было их использовать в формате process.env.*имя переменной* .
  3. Создаем объект самого бота, который и будет отвечать на наши сообщения, используя токен из .env .
  4. При помощи встроенного синтаксиса Telegraf мы говорим боту: когда получаешь сообщение текстом, ответь тем же текстом пользователю.
  5. Включаем бота, чтобы тот время от времени проверял сервер «Телеграма» на предмет новых сообщений.

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

Подобный бот у тебя должен был получиться

Дальше я не стану приводить длинные выкладки кода: просто буду говорить, куда и что добавлять. Поэтому будь внимателен!

Робот-вышибала

Идея, которую мы реализуем, очень проста: когда человек заходит в чат, бот ему говорит, что у него 60 секунд, чтобы что угодно написать в чат — хоть стикер, хоть команду, хоть фоточку. Если человек в течение минуты ничего не прислал, то мы кикаем его из группы.

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

Читайте также:
Комплексная программа профилактики стоматологических заболеваний это

Где-нибудь вверху добавь переменную chats со следующей сигнатурой:

const chats = <> as < [index: number]: < id: number; time: number >[] >

Эта басурманская вязь — объявление типа объекта до его непосредственного использования. У нас будет объект идентификаторов чатов к списку кандидатов на бан в этом чате. У каждого кандидата на бан будет идентификатор от «Телеграма» и время, когда он зашел. Конечно, чище будет использовать интерфейсы — но это позже.

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

// Добавляем в кандидаты по приходу bot.on(‘new_chat_members’, ctx => < for (const member of ctx.message.new_chat_members) < addCandidate(ctx.chat.id, member.id) ctx.reply(‘Пожалуйста, пришлите любое сообщение в этот чат в течение 60 секунд, или вы будете забанены’) >>) // Удаляем из кандидатов по активности bot.on(‘message’, ctx => < removeCandidate(ctx.chat.id, ctx.from.id) >)

Объект ctx (от слова context) — это очень важная штука, в которой есть вся значимая для тебя информация. Нам нужен список новоприбывших, идентификатор чата и идентификатор пользователя, который прислал сообщение. Как ты уже мог догадаться, мы добавляем имплементацию функций addCandidate и removeCandidate .

// Добавляем кандидата function addCandidate(chatId, candidateId) < const candidate = < id: candidateId, time: new Date().getTime(), >let candidates = chats[chatId] if (candidates) < candidates.push(candidate) >else < candidates = [candidate] >chats[chatId] = candidates > // Убираем кандидата function removeCandidate(chatId, candidateId) < let candidates = chats[chatId] if (!candidates) return chats[chatId] = candidates.filter(candidate =>candidate.id !== candidateId) >

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

Убирать кандидатов еще проще — мы получаем список кандидатов для чата. Если его нет — все хорошо, кандидата и убирать не надо. Если есть, то мы фильтруем массив кандидатов.

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

// Проверяем, нужно ли банить setInterval(() => < for (const chatId in chats) < const candidates = chats[chatId] if (!candidates.length) continue const now = new Date().getTime() for (const candidate of candidates) < if (candidate.time < now — 60 * 1000) < const telegram = bot.telegram as any telegram.kickChatMember(chatId, candidate.id) removeCandidate(chatId, candidate.id) >> > >, 1000)

Каждую секунду мы запускаем эту функцию. Она проходится по всем идентификаторам чатов из нашего объекта чатов с кандидатами.

Если кандидатов нет, то просто пропускает этот чат. Иначе — проходится по всем кандидатам и сверяет, не зашел ли кто-то из них более 60 секунд назад. Если это так, то банит и убирает из списка кандидатов.

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

Никита Колмогоров

Мой сайтец в профиле говорит громче любых слов.

Источник: xakep.ru

b0mb3r — бесплатный смс бомбер

b0mb3r - бесплатный смс бомбер в 2021 году

Библиотека b0mb3r для смс-флуда, разработанная на Python, имеющая открытый исходный код и кучу звезд на Github.

Для тех кто пришел просто скачать — смотрите последний абзац.

Введение

Уютный вечерок с ароматным чаем обернулся для меня шокирующей находкой. В трендах GitHub’а набирает популярность проект под названием b0mb3r осуществляющий массовые смс рассылки. Проект написан на Python с использованием asyncio, FastAPI и loguru чем собственно меня и привлек. Сразу хочу внести ясность, я не являюсь пропагандистом спама, а рассматриваю проект с открытым исходным кодом написанный на языке Python в рамках тематики своего сайта.

Описание

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

Цели использования

Действия смс бомбера схожи с DoS атаками на сайты. Телефон в какой то момент начинает принимать большое количество информации (звонки и смс) тем самым забивается канал связи и до человека просто напросто невозможно будет дозвонится. Это может быть нужно в какой то конкурентной борьбе или же для банального хулиганства.

Безопасность

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

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

Установка

Это обычная библиотека в python и устанавливается стандартным способом через менеджер пакетов pip

pip install b0mb3r

Использование

После установки библиотеки достаточно запустить в командной строке b0mb3r или bomber .

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

У программы есть свой интуитивно понятный интерфейс

Методы защиты

На данный момент не существует механизмов защиты от такого вида атак.

Собственные мотивы

Ситуация на самом деле не очень приятная. Большинство компаний несут убытки за эти смс рассылки и частенько даже не подозревают об этом. Люди которые являются целью этого спама — никак не могут себя защитить от этого. Я нашел публикацию пострадавшей стороны на vc.ru и хотел бы придать большей огласки этой проблеме. Ниже я постараюсь отменить все компании, которые на данный момент являются источниками рассылок и в надежде что их вебмастера когда нибудь увидят переходы с этой статьи на их сайт и обратят на эту проблему внимание.

Пострадавшие

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

Но как оказалось, это рутинное занятие и в 90% компании даже не дают никакого фидбека. Кто-то из ответивших разработчиков даже не желает фиксить баги, указывая на то, что расходы на это не такие уж и большие — компания потянет.

Spymer — новый смс спамер

На данный момент все репозитории с b0mb3r заблокированы, но так же появились аналогичные проекты в других репозиториях. Таким проектом является Spymer. Код этого приложения выглядит ужасно, работоспособность проекта не проверял. Как не удивительно, но проект опять увидел в трендах гитхаба.

Обращение к спамерам

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

Ребята, в 90% случаев вы не осознаете последствий своих действий, скорее всего вы даже не понимаете деталей реализаций этого инструмента, не майтесь хернею, денег на этом вы не заработаете, это все деструктив. Вложите собственное время в будущее, научитесь программировать, это не сложно, python очень простой язык, это поможет вам в дальнейшей жизни неплохо зарабатывать и не заниматься мелким хулиганством.

Скачать смс-бомбер

Хочешь получить ссылку на последнюю версию бомбера?

Пиши в комментах куда тебе ее отправить.

Или воспользуйся этой ссылкой.

Источник: egorovegor.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru