{"id":14277,"url":"\/distributions\/14277\/click?bit=1&hash=17ce698c744183890278e5e72fb5473eaa8dd0a28fac1d357bd91d8537b18c22","title":"\u041e\u0446\u0438\u0444\u0440\u043e\u0432\u0430\u0442\u044c \u043b\u0438\u0442\u0440\u044b \u0431\u0435\u043d\u0437\u0438\u043d\u0430 \u0438\u043b\u0438 \u0437\u043e\u043b\u043e\u0442\u044b\u0435 \u0443\u043a\u0440\u0430\u0448\u0435\u043d\u0438\u044f","buttonText":"\u041a\u0430\u043a?","imageUuid":"771ad34a-9f50-5b0b-bc84-204d36a20025"}

Небезопасный Salebot или как не "профукать" персональные данные при заказе чат-бота

Вступление

Здесь не будет глубокого погружения в механизмы передачи данных и высоких технических терминов. Только факты и собственные наблюдения.

Будет интересно разработчикам на Salebot и некоторым заказчикам чат-ботов, заботящихся о безопасности.

Разработкой чат-ботов занимаюсь уже почти 5 лет. Сначала писал на питоне, потом перешел на конструктор чат-ботов, так как больший фунционал из коробки, относительно легкое "программирование", ну и собственно, скорость разработки. И так...

Пару слов о Salebot

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

Интеграции с основными месенджерами, собственная CRM, аналитика, подключаемые сервисы (прием платежей в боте, телефония, инфопродукты и т.д).

Как понятно из вступления, если вам нужен чат-бот - вам нужен Salebot.

Единственный минус в освоении конструктора - его справка;) даже для разработчиков со стажем, она бывает двусмысленной и какой-то не полноценной, и только судя по salebot.wiki, видно, что ребята исправляются. Ладно, не суть.

Дальше не буду лить воду, сразу к делу.

Это очень просто!

После регистрации в Сейле (Премиум на 14 дней - бесплатно), в конструкторе воронок нужно создать какой-нибудь пустой блок и нажать на кнопку "Протестировать бота":

Откроется вкладка тестирования бота. Нужно немного подождать или что-нибудь написать в окне тестирования и терпение нам воздастся;)

Далее, жмакаем правой кнопкой в любом месте и выбираем пункт Просмотреть код:

или F12 нажать - это одно и тоже

Откроется окно DevTools и переходим на вкладку Console:

И, барабанная дробь... что мы видим:

Ого! Из того, что мне встречалось: имена и номера телефонов, ссылки на (бес)платные материалы, доступы в приватные телеграм каналы (по подписке), события оплаты и т.п. И Бог его знает, что ещё может встретиться тут.

Мне не особо интересны были эти данные, так как мы законоопослушные граждане и бережно относимся к конфиденциальности. Да ведь?! Но, мне стало интересно, откуда все эти сообщения.

Исследование

В современном браузере проще простого выявить ошибки и понять нагрузку того или иного скрипта или его части.

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

И попадаем на вкладку Sources:

Вот, где-то тут ошибка 🤣

Ладно, жмакаем кнопку Pretty print, вот она:

О, так уже понятнее:

Но, где найти место вывода сообщения в консоль? Можно попробовать поиск по фразе так: console.log или сходить обратно на вкладку Console и увидеть, что теперь ссылка возле каждого сообщения изменилась. Переходим:

Собственно, на этом всё. Так мы находим место трасляции сообщений:

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

Как ещё - тайное может стать явным?

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

О чем речь

Типичная короткая ссылка в сейл бот выглядит так:

sblnk.ru/68090150, или так: sblnk.ru/68090000

То есть, домен sblnk.ru и порядковый номер. В ссылках выше, номера придумал сам, не загадывая есть там контент или нет.

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

Хотя в сейле масса функций, позволяющих исключить подобную оплошность:

  • proxy_date() и proxy_timeout()
  • remove_links()
  • remove_one_time_links()
  • remove_timer_links()

Используйте их! Позаботьтесь о безопасности.

Выводы

Выводы для разработчиков: не следует проводить тестирование бота во вкладке тестирования с реальными или значимыми для заказчика данными. Это может быть не безопасно. По крайней мере, пока.

Использовать для коротких ссылок методы их удаления.

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

От автора

Спасибо всем, кто дочитал. Надеюсь было немного интересно и чуть познавательно. Об обнаруженных ошибках я сообщил в поддержку salebot, обещали принять меры. Хороших вам ботов и добрых заказчиков!

0
2 комментария
Дмитрий Спирин

Здравствуйте, спасибо за замечания, приступили к исправлениям. От себя добавлю. В тех логах нет ничего критичного, это сообщения из того же проекта(можно по номеру увидеть), к которому у вас есть доступ. У нас единое окно тестирования для всего проекта. В него можно зайти и увидеть все, что тестировали ранее. Если у вас конечно есть доступ к проекту.

В любом укорачивателе можно перебрать коды и получить, что скрывается за ссылкой. Если по ссылке конфиденциальная информация, рекомендую использовать авторизацию через мессенджеры: https://docs.salebot.pro/messendzhery-i-chaty/kak-sozdat-bota-v-telegram#kak-sozdat-knopku-dlya-avtorizacii-na-saite

Ответить
Развернуть ветку
Роман Шаров
Автор

В этом-то и "фишка", если можно так сказать - моих проектов на скриншотах нет. Бродкаст какой-то получается...

Ответить
Развернуть ветку

Комментарий удален модератором

Развернуть ветку
-1 комментариев
Раскрывать всегда