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

Безопасность 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

Публикации

Истории

Работа

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

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн