Добро пожаловать на Craft‑Bukkit

Всё о Minecraft серверах: гайды, команды, скачивание сборок и полезные советы для администраторов и игроков.

Уязвимость в плагине WorldEdit: как хакеры используют schematics и скрипты для атаки

wergio 24.07.2026 12:11 7
Уязвимости WorldEdit: как хакеры используют скрипты, схематики и массовые операции для атаки.

Введение: мощный инструмент в руках хакера

WorldEdit — один из самых популярных плагинов для Minecraft, установленный на миллионах серверов. Он даёт невероятные возможности для строительства и редактирования мира. Но те же возможности могут быть использованы хакерами для разрушения сервера, если плагин неправильно настроен. В этой статье — известные уязвимости WorldEdit и методы защиты.

Уязвимость 1: CraftScripts (JS-скрипты)

WorldEdit поддерживает скрипты на JavaScript (CraftScripts), которые хранятся в папке plugins/WorldEdit/craftscripts/. Эти скрипты могут выполнять любые команды от имени сервера.

Атака: Если хакер получит доступ к папке craftscripts (через другую уязвимость) или если сервер разрешает игрокам загружать скрипты, хакер может создать скрипт с содержимым:

server.dispatchCommand(server.console, "op Hacker");
server.dispatchCommand(server.console, "stop");

При выполнении скрипта через команду /cs script.js сервер выдаст хакеру права оператора и остановится.

Защита:

  • Удалите папку craftscripts, если не используете скрипты.
  • В конфиге WorldEdit: scripting-timeout: 0 (отключает выполнение скриптов).
  • Ограничьте право worldedit.scripting.execute только администраторам.

Уязвимость 2: Загрузка схематик (Schematic Upload)

WorldEdit позволяет загружать схематики (.schem, .schematic файлы) через команду //schem load файл. Эти файлы могут содержать вредоносные NBT-данные.

Атака: Хакер создаёт схематику с аномально большими NBT-данными (чанк-бан) или с командными блоками, настроенными на выполнение вредоносных команд. При вставке схематики (//paste) сервер крашится или выполняет команды.

Защита:

  • Не давать игрокам право worldedit.schematic.load и worldedit.clipboard.paste.
  • Проверять схематики перед загрузкой: ограничить размер файла, сканировать на наличие командных блоков.

Уязвимость 3: Массовые операции (Performance Exploit)

WorldEdit позволяет выполнять операции над огромными регионами. Команда //set stone на регионе 1000x1000x1000 может повесить сервер на часы.

Атака: Хакер намеренно выполняет огромные операции, вызывая отказ в обслуживании (DoS).

Защита:

  • В конфиге WorldEdit установить лимиты:
    max-blocks-changed: 5000000 (максимум блоков за операцию).
    max-radius: 500 (максимальный радиус выделения).
  • Использовать FastAsyncWorldEdit (FAWE) — он обрабатывает большие операции асинхронно, не блокируя главный поток.

Уязвимость 4: Инъекция команд через регионы

WorldEdit позволяет называть регионы. Если плагин не экранирует названия, хакер может внедрить команду в название региона.

Защита:

  • Обновить WorldEdit до последней версии (эта уязвимость исправлена).

💡 Совет профи

Используйте FastAsyncWorldEdit (FAWE) вместо стандартного WorldEdit. FAWE не только быстрее, но и имеет встроенные защиты от DoS-атак (лимиты по времени выполнения, асинхронная обработка, защита от крашей). И настройте логирование всех WorldEdit-команд через плагин CoreProtect — вы всегда будете знать, кто и что редактировал.
← К списку статей

💬 Комментарии (0)

⏳ Все комментарии проходят модерацию

🔒 Войдите, чтобы оставить комментарий

😊 Пока нет комментариев. Будьте первым!