Как стать автором
Обновить

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

Время на прочтение1 мин
Количество просмотров14K

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

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

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

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

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

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

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

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

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

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

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

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

Теги:
Хабы:
Всего голосов 18: ↑6 и ↓12-3
Комментарии12

Публикации

Истории

Работа

Ближайшие события

19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн