Уязвимость в плагинах голосования и веб-интеграции: подделка голосов и кража токенов
Введение: голоса за алмазы
Плагины голосования (Votifier, NuVotifier, VotingPlugin) позволяют игрокам голосовать за сервер на мониторингах и получать за это награды. Эти плагины открывают сетевой порт (по умолчанию 8192) для приёма уведомлений от сайтов-мониторингов. Если порт неправильно настроен или плагин устарел — хакеры могут подделывать голоса и получать бесконечные награды. В этой статье — как работают атаки на Votifier и как их предотвратить.
Как работает Votifier
- Игрок голосует за сервер на сайте-мониторинге (например, minecraftrating.ru).
- Сайт отправляет уведомление на сервер игрока на порт 8192.
- Votifier получает уведомление, проверяет его подлинность (RSA-ключ) и начисляет награду.
Уязвимость 1: Подделка голосов (Vote Spoofing)
Принцип: В старых версиях Votifier (до 2.0) не было проверки подписи. Хакер мог отправить поддельный пакет на порт 8192 с любым ником и получить награду. Даже в новых версиях, если используется слабый RSA-ключ или ключ утёк, хакер может подписывать поддельные голоса.
Защита:
- Использовать NuVotifier (последняя версия) с RSA-ключом.
- Защитить приватный ключ: файл
private.keyне должен быть доступен для чтения никому, кроме процесса сервера. - Периодически менять RSA-ключи.
Уязвимость 2: Атака на порт Votifier (DDoS и сканирование)
Принцип: Порт 8192 открыт для всего интернета (чтобы сайты-мониторинги могли отправлять уведомления). Хакеры сканируют этот порт и могут:
- DDoS'ить сервер, заваливая порт мусорными пакетами.
- Эксплуатировать уязвимости в старых версиях Votifier.
Защита:
- Ограничить доступ к порту 8192: разрешить только IP-адреса сайтов-мониторингов (список IP можно получить у мониторинга).
- Использовать брандмауэр:
iptables -A INPUT -p tcp --dport 8192 -s IP_МОНИТОРИНГА -j ACCEPT; iptables -A INPUT -p tcp --dport 8192 -j DROP.
Уязвимость 3: Кража токенов через веб-хуки
Принцип: Некоторые плагины голосования интегрируются с Discord через веб-хуки. Если веб-хук URL утекает (например, через публичный лог или ошибку в плагине), хакер может спамить в Discord-канал сервера или получить доступ к другим функциям бота.
Защита:
- Хранить веб-хук URL в защищённом конфиге, недоступном для игроков.
- Регулярно менять веб-хуки.
- Не публиковать логи, содержащие URL веб-хуков.
💡 Совет профи
Используйте NuVotifier с настройкой token (секретный токен, который мониторинг передаёт вместе с уведомлением). Это добавляет второй уровень проверки — даже если RSA-ключ скомпрометирован, без токена голос не засчитается. Токен должен быть уникальным для каждого мониторинга и периодически меняться.
💬 Комментарии (0)
🔒 Войдите, чтобы оставить комментарий
😊 Пока нет комментариев. Будьте первым!