- PVSM.RU - https://www.pvsm.ru -

Безопасность Web Apps в Telegram ботах

Безопасность Web Apps в Telegram ботах - 1

16 апреля 2022 Telegram презентовал новую фичу - Web apps, с помощью которой можно открывать веб страницы в боте без перехода в браузер. Подробнее можно почитать в источнике https://core.telegram.org/bots/webapps [1].

Однозначно это удобная функция для пользователей и для разработчиков. Но, так как это веб приложение, можно просмотреть что под капотом. Telegram привел в качестве примера бота @DurgerKingBot [2], его и разберем.

Открываем telegram web [3], находим бота, запускаем его.

Безопасность Web Apps в Telegram ботах - 2

Нажимаем Order Food, откроется веб приложение

Безопасность Web Apps в Telegram ботах - 3
  1. Здесь видим адрес сайта. Открываются двери для DDoS, брутфорса. Если вы используете webhook, то ссылка на него должна быть сложной (например ключ бота, как предлагает Telegram), никаких tg, telegram, tgwebhook и т.п.

  2. Можно узнать, какие домены на этом же ip. Например через 2ip.ru [4], и если есть боты, которых вы не хотите афишировать, держите их на другом ip. Так же не желательно держать код бота с веб приложением на shared хостинге [5], так как есть вероятность встретить нежданного "соседа", либо выбирайте надежный shared хостинг [5]

  3. Находим js, изучаем его

Безопасность Web Apps в Telegram ботах - 4

Ищем нужные методы, например событие создания заказа

Безопасность Web Apps в Telegram ботах - 5

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

Безопасность Web Apps в Telegram ботах - 6

Поэтому в ajax надо

  1. передавать нужно только те данные, которые ввел пользователь. Цены, склады и прочее подставляйте в бэке. Если количество должно быть целым числом, то проверяйте, иначе бот пропустит 0.1 и выдаст счет на этот товар по 0.1 цене и доказывай потом, что это не глюк бота.

  2. на стороне сервера проверять на SQL инъекции, XSS, препарируйте входящие данные

Автор:
renat898

Источник [6]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/javascript/374875

Ссылки в тексте:

[1] https://core.telegram.org/bots/webapps: https://core.telegram.org/bots/webapps

[2] @DurgerKingBot: https://t.me/durgerkingbot

[3] telegram web: https://web.telegram.org

[4] 2ip.ru: https://2ip.ru/domain-list-by-ip/

[5] хостинге: https://www.reg.ru/?rlink=reflink-717

[6] Источник: https://habr.com/ru/post/664832/?utm_source=habrahabr&utm_medium=rss&utm_campaign=664832