Поиск по сайту
Результаты поиска по тегам 'packethack'.
Найдено 2 результата
-
Любители эксплуатировать уязвимости модификаций Minecraft решили в очередной раз зайти к нам «в гости». Им конечно же был дан отпор, так что всё в порядке RedServer имеет достаточно большой опыт борьбы с такими вредителями, поэтому наш сервер можно считать одним из самых надёжных. Обладая всем этим, мы решили взять на себя миссию раскрывать и публиковать информацию об уязвимостях, чтобы так называемые «рейды» по серверам прекратились. Почему мы не ищем уязвимости сами? Знаете, копаться в запутанном коде модификаций, дело неинтересное. Вероятность найти дыру в моде достаточно мала, ибо её просто может не быть (хороший мод). Поэтому зачем искать дыры в модах, когда есть те, кто за тебя их найдёт? Достаточно дождаться их визита и отследить, как они это делают Уязвимость BuildCraft Была зафиксирована выдача произвольных вещей с использованием строительной метки. Отправляя специальный пакет, злоумышленник записывал в метку произвольный предмет, а затем его забирал. А вот как это работает (информация для разработчиков). [WARN] [FML/]: Created item via packet: ExtrabiomesXL:flower3:13 java.lang.Exception at net.minecraft.item.ItemStack.<init>(ItemStack.java:102) ~[add.class:?] at buildcraft.core.lib.utils.NetworkUtils.readStack(NetworkUtils.java:95) ~[NetworkUtils.class:?] at buildcraft.builders.TileConstructionMarker.readData(TileConstructionMarker.java:259) ~[TileConstructionMarker.class:?] at buildcraft.core.lib.network.PacketHandler.onTileUpdate(PacketHandler.java:47) ~[PacketHandler.class:?] at buildcraft.core.lib.network.PacketHandler.channelRead0(PacketHandler.java:74) ~[PacketHandler.class:?] at buildcraft.core.network.PacketHandlerCore.channelRead0(PacketHandlerCore.java:23) ~[PacketHandlerCore.class:?] at buildcraft.core.network.PacketHandlerCore.channelRead0(PacketHandlerCore.java:20) ~[PacketHandlerCore.class:?] at net.minecraft.network.NetworkManager.func_74428_b(NetworkManager.java:290) ~[ej.class:?] at net.minecraft.network.NetworkSystem.func_151269_c(NetworkSystem.java:171) ~[nc.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:949) ~[MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:385) ~[lt.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:827) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:702) ~[MinecraftServer.class:?] На текущий момент обработчик пакетов был выключен (вы будете получать сообщение об ошибке), до тех пор пока мы не сделаем полноценный фикс. Фикс Тестирование показало, что пакеты TILE_UPDATE, ENTITY_UPDATE, STATE_UPDATE предназначены только для клиента (обновление блоков в клиентском мире). Уязвимость заключается в наличии возможности двунаправленной отправки этих пакетов – отсутствует проверка принимающей стороны (сервер/клиент). Для исправления уязвимости, следует запретить обработку данных пакетов сервером (только клиент должен их принимать и обрабатывать).
-
Менее суток назад была опубликована информация о наличии уязвимости с моде Carpenter's Blocks. В целом, это недоработка, статус уязвимости она получила из-за возможности обходить плагины привата. Будь это обычный ("ванильный") сервер, недоработка не имела бы такой существенной значимости. Что это? Снова "пакет хак". В моде присутствует специальный пакет, который позволяет активировать блоки на удалённом сервере. Автору пришлось пойти на такой хак из-за технических ограничений игры: с нажатым Shift, ПКМ на блоках не срабатывает. Что случилось? У серверного обработчика PacketActivateBlock отсутствует проверка входных данных, даже нет ограничения на возможность использования только на блоках из мода. Обработчик вызывает у выбранного блока onBlockActivated(), где обычно располагается код открытия интерфейса инвентаря блока. Прямой вызов этого метода позволяет миновать стандартный обработчик пакетов и ItemInWorldManager, откуда собственно информация о действия передаётся плагинам. Что это позволяет делать? Это позволяет открывать любые сундуки из модов, брать предметы с пьедесталов, в общем всё, что блок позволяет делать нажатием ПКМ. С "ванильными" блоками это не работает - они используют другие пакеты. Можно обходить любые плагины (в основном это приват и запреты), использующие PlayerInteractEvent. Демонстрация работы хака представлена на видео. Исправление уже установлено на все серверы. Добавлено ограничения использования пакета только блоками мода и вызов дополнительного PlayerInteractEvent для возможности контроля действия плагинами. За нахождение бага выражаем благодарность gamerforEA.