Хабрахабр

[Перевод] Я сделал API для скриншотов сайтов, а какой-то парень начал майнить через него криптовалюту

Я подумал, что случайно запушил какой-то баг в продакшн — и быстро начал расследование. Сегодня утром я открыл почтовый ящик и обнаружил около 150 предупреждений из программы мониторинга лога. Но вскоре стало понятно, что некий парень очень быстро создаёт новые учетные записи на нашем сервисе API скриншотов ApiLeap и быстро расходует весь кредит бесплатного плана на каждом аккаунте.

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

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

Пожалуйста, прекратите создавать несколько учётных записей на ApiLeap, вы нарушаете условия предоставления услуг. Я: Здравствуйте.

Он: Откуда ты знаешь?

Я: Из нашего интерфейса администратора, у нас есть метрики для мониторинга использования.

Вау!!! Он: Значит вы отследили мой IP?

Я: У нас есть юридические обязательства по сбору данных от наших клиентов.

Я использовал ваш сервер для майнинга криптовалют. Он: О, простите. Извините, я остановлю его.

Я: Спасибо.

😀 Он: Будут какие-то судебные разбирательства?

Если продолжите, то да. Я: Если остановитесь сейчас, нет.

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

У нас также есть подрядчик, который может подготовить судебный иск, если понадобится. Я: Мы позволяем пользователям свободно создавать учётные записи, но у нас есть различные инструменты для бана.

Но это ваша обязанность — убедиться, что автоматизированный софт не может создать аккаунт на вашем сайте. Он: Ладно, я понимаю.

Я: Мы можем добавить меры безопасности, если нужно.

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

Selenium? Я: Мы это поняли.

Могу помочь вам, если хотите. Он: Неа, PHP curl. Поставьте хоть капчу, она защитит он таких ботов. Так что, вы вообще не разбираетесь в веб-безопасности или просто лень её реализовывать?

Наш сайт первый, на который вы напали? Я: Спасибо за совет.

Ради удовольствия и прибыли. Он: Нет… 😀
Это мое хобби.

Я: Вы зарабатываете приличные деньги на Coinhive?

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

Есть куча других сервисов для скриншотов, которые вы можете попробовать. Я: Всё в порядке, мы ничего не потеряли.

Он: 😀
Это использует их вычислительные ресурсы, ты же понимаешь.

Я: Да, это майнинг Monero в браузере.

Просто чтобы нанести им какой-то ущерб? Он: Кстати, а почему ты хочешь, чтобы я попробовал другие веб-сайты? 😀

Я просто пошутил. Я: Нет, не надо. 🙂

Возьмёте меня на работу? Он: Ладно.

Я: Извините, у нас уже есть штатный разработчик.

Он: 😉
В любом случае, было приятно познакомиться.

Существует куча лучших способов заработать деньги в качестве разработчика. Я: Уверен, ты отличный парень глубоко внутри. Удачи! Приятно было познакомиться. 🙂 Надеюсь, у тебя будет всё замечательно!

Пока 🙂 Он: Спасибо.

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

Теги
Показать больше

Похожие статьи

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть