1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Фикс Уязвимости в ядре и модах [1.7/1.6]

Тема в разделе "Управление сервером Bukkit", создана пользователем Firkys, 9 июн 2015.

  1. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Нужный для прогрузки мир указал?
    /wb имя_нужного_мира set радиус
    /wb имя_нужного_мира fill
     
  2. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Воу воу, кто вернулся :eek:
     
  3. Asd1995sse

    Asd1995sse Активный участник Пользователь

    Баллы:
    88
    Skype:
    Asd1995sse
    Зачем нужно loadChunkOnRequest отключать и что оно вообще делает?
     
  4. Linkinkov

    Linkinkov Старожил Пользователь

    Баллы:
    173
    Skype:
    linkinkov1
    Имя в Minecraft:
    linkinkov
    Все работает. Просто в мир что хотите войдите
     
  5. Bormandesign

    Bormandesign Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    Borman
    Черным по белому написано.
     
  6. Sirse

    Sirse Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    Sirse
    Границу мира для начала задай, wb set
     
  7. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Не задана потому что -_-
     
  8. Kirich

    Kirich Активный участник Пользователь

    Баллы:
    78
    Разрабы не пофиксили?
     
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Так проверка на оп и есть фикс, вруби ее и все.
     
  10. Aнатолий

    Aнатолий Старожил Пользователь

    Баллы:
    103
    Skype:
    sasay1337
    Имя в Minecraft:
    4epB9Ik
    В теме остались еще люди которые шарят в поисках таких уязвимостей?

    Есть некий сервер. Все что в этом списке давно перекрыто.
    На нем есть "постоянный" игрок (VPN, ChangeHWID и остальные прелести обходов бана)
    Заходя на сервер - спавнит лут в сундуках по указанным координатам
    2жды пересматривали IC на косяк (ибо ну очень похоже), там все чисто..
    Логов естественно не каких (100% действует какой то мод, это обьясняет появление предметов даже с вырезанным крафтом)
    Из списка модов глаза упали на 3 мода (DraconicEvolution, а так же ZTones и Vending [барт подсказал])
    Список модов:

    Технические
    :
    Applied Energistics 2 (+ AE2 Stuff, ExtraCells)
    Big Reactors
    Buildcraft 7
    Draconic Evolution
    EnderIO
    Forestry
    IndustrialCraft 2 Experimental (+ Advanced Solar Panels, Nuclear Control; Combo Armors; Gravitation Suite; IC2 Backpack HUD)
    Mekanism 9
    OpenBlocks
    OpenComputers (+ Computronics, OpenGlasses, OpenPrinter)
    OpenSecurity
    OpenModularTurrets
    PowerConverters
    Project Red
    Railcraft
    Tinkers Construct (+ Tinker’s Mechworks, ExtraTiC)
    Thermal Expansion
    Wireless Redstone Chicken Bones Edition

    Декоративные:
    Biomes O’Plenty
    Carpenter’s Blocks
    Chisel 2 (+ ChiselTones)
    CustomNPCs
    Dragon’s Radio Mod
    Hats
    MalisisAdvert
    MalisisDoors
    MrCrayfish’s Furniture Mod
    Realistic World Gen
    Streams
    Ztones

    Интерфейс:
    Damage Indicators Mod
    Inventory Tweaks
    Mouse Tweaks
    NEI (+ NEI Addons)
    Rei’s Minimap Mod
    Waila

    Производительность:
    Fastcraft
    Optifine

    Утилитарные:
    Dynmap (+ Factions Addon)
    Ender Storage
    IronChests
    JumpPad++
    OmniWrench
    Pam’s HarvestCraft
    TooManyDanyOres
    No More Recipe Conflicts
    Vending Blocks

    Но самые большие подозрения упали на мод DraconicEvolution, у него есть свой обработчик TileEntity, к тому же он умеет обновлять NBT своих сундуков со стороны клиента по некоторым параметрам..
    (Я не разбираюсь в модо-писании клиент/сервер так что не ругайтесь, это лишь предположение основанное на логике)
    Код обработчика тайлов
    Код:
    package com.brandon3055.draconicevolution.common.network;
    
    import com.brandon3055.draconicevolution.common.container.ContainerDataSync;
    import com.brandon3055.draconicevolution.common.tileentities.TileObjectSync;
    import com.brandon3055.brandonscore.common.utills.DataUtills;
    import cpw.mods.fml.common.network.simpleimpl.IMessage;
    import cpw.mods.fml.common.network.simpleimpl.IMessageHandler;
    import cpw.mods.fml.common.network.simpleimpl.MessageContext;
    import cpw.mods.fml.relauncher.Side;
    import io.netty.buffer.ByteBuf;
    import net.minecraft.client.Minecraft;
    
    /**
     * Created by Brandon on 14/11/2014.
     */
    public class TileObjectPacket implements IMessage {
    
        int x;
        int y;
        int z;
        short index;
        short dataType = -1;
        Object object;
        boolean isContainerPacket;
    
        /**
         * Used for Tile and Container synchronization
         */
        public TileObjectPacket() {
        }
    
        public TileObjectPacket(TileObjectSync tile, byte dataType, int index, Object object) {
            this.isContainerPacket = tile == null;
            if (!isContainerPacket) {
                this.x = tile.xCoord;
                this.y = tile.yCoord;
                this.z = tile.zCoord;
            }
            this.dataType = dataType;
            this.object = object;
            this.index = (short) index;
        }
    
        @Override
        public void toBytes(ByteBuf bytes) {
            bytes.writeBoolean(isContainerPacket);
    
            if (!isContainerPacket) {
                bytes.writeInt(x);
                bytes.writeInt(y);
                bytes.writeInt(z);
            }
    
            bytes.writeByte(dataType);
            bytes.writeShort(index);
    
            DataUtills.instance.writeObjectToBytes(bytes, dataType, object);
    
        }
    
        @Override
        public void fromBytes(ByteBuf bytes) {
            isContainerPacket = bytes.readBoolean();
    
            if (!isContainerPacket) {
                x = bytes.readInt();
                y = bytes.readInt();
                z = bytes.readInt();
            }
    
            dataType = bytes.readByte();
            index = bytes.readShort();
    
            object = DataUtills.instance.readObjectFromBytes(bytes, dataType);
        }
    
        public static class Handler implements IMessageHandler<TileObjectPacket, IMessage> {
    
            @Override
            public IMessage onMessage(TileObjectPacket message, MessageContext ctx) {
                if (ctx.side == Side.CLIENT) {
                    if (message.isContainerPacket) {
                        ContainerDataSync container = Minecraft.getMinecraft().thePlayer.openContainer instanceof ContainerDataSync ? (ContainerDataSync) Minecraft.getMinecraft().thePlayer.openContainer : null;
                        if (container == null) return null;
                        container.receiveSyncData(message.index, (Integer) message.object);
                    } else {
                        if (!(Minecraft.getMinecraft().theWorld.getTileEntity(message.x, message.y, message.z) instanceof TileObjectSync))
                            return null;
                        ((TileObjectSync) Minecraft.getMinecraft().theWorld.getTileEntity(message.x, message.y, message.z)).receiveObjectFromServer(message.index, message.object);
                    }
                } else {
                    if (message.isContainerPacket) {
                        ContainerDataSync container = ctx.getServerHandler().playerEntity.openContainer instanceof ContainerDataSync ? (ContainerDataSync) ctx.getServerHandler().playerEntity.openContainer : null;
                        if (container == null) return null;
                        container.receiveSyncData(message.index, (Integer) message.object);
                    } else {
                        if (!(ctx.getServerHandler().playerEntity.worldObj.getTileEntity(message.x, message.y, message.z) instanceof TileObjectSync))
                            return null;
                        ((TileObjectSync) ctx.getServerHandler().playerEntity.worldObj.getTileEntity(message.x, message.y, message.z)).receiveObjectFromClient(message.index, message.object);
                    }
                }
                return null;
            }
        }
    }
    
    

    Подскажите может быть дело в чем то другом, или ваши предположения того как он меняет содержимое контейнеров не имея ни каких полномочий.
    Заранее благодарен..

    P.S Версии подозреваемых модов:
    [Draconic-Evolution] 1.7.10 v1.0.2h
    [Vending] 1.7.10 v1.2.3
    [ZTones] 1.7.10 v2.2.1
    -=======-
    [IndustrialCraft 2] 1.7.10 v2.2.814
     
    Последнее редактирование: 8 окт 2016
  11. Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    По этому куску кода не очен понятно но вполне возможно что это оно.
    Просто логгируйте все CustomPayload пакеты и смотрите что он шлёт.
     
  12. Aнатолий

    Aнатолий Старожил Пользователь

    Баллы:
    103
    Skype:
    sasay1337
    Имя в Minecraft:
    4epB9Ik
    Ждать этого чела (не зная ничего о нем), пока он повторит процедуру и смотреть что он шлет (не известно куда) - приведет к тонне попыток что то поймать, а это черевато разрухой в экономике и дальнейшими откатами..

    Такой вариант реально невозможен :(
    Нужно найти дыру без использования мышеловки..
     
  13. oleg57zls

    oleg57zls Старожил Пользователь

    Баллы:
    173
    Skype:
    BlayzerQ
    Имя в Minecraft:
    Blayzer
    Что лучше, тыкать пальцем в небо или отталкиваться от каких либо данных?
    К тому-же ты даже версию модов не написал.
     
  14. Aнатолий

    Aнатолий Старожил Пользователь

    Баллы:
    103
    Skype:
    sasay1337
    Имя в Minecraft:
    4epB9Ik
    Это и будет тыкание пальцем в небо..
    Когда он это сделает, кто это сделает, что сделает, как сделает - мы не знаем
    Собирать все пакеты на сервере с онлайном 70+ думаю ну не к чему не приведут.
    Знать бы хотя-бы логин или мод, чтоб отсеевать лишнее

    Собирать все пакеты поочередно от каждого мода - это больше 10 его удачных попыток которые не будут не каким образом отловлены, и остановлены.
    Опять же откаты.. Что в принципе не разумно на сервере с таким онлайном.
     
  15. TheKoljas

    TheKoljas Активный участник

    Баллы:
    61
    Люди остались =).80 проц, что это драконик, пару месяцев назад ковырял его.....Надо сделать логгер CustomPayload пакетов от этого мода.Я думаю, что мусора много не будет.Меня, кстати, таким образом спалили на редсервере с хаком креатива через серверную часть NEI.
     
    Последнее редактирование: 9 окт 2016
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну вот этим пакетом от тебе и сетает инвентарь сундукам лол. Тут и координаты и слот в пакете имеется, и некий объект, возможно итемстак. Под описание изидропа, этот пакет 90% подходит. Удаляешь эту хрень из того мода и ждешь реакцию дропера.
    P.s я не удивлюсь, что этот дропер и есть барт.
     
    Последнее редактирование: 9 окт 2016
  17. Bartolomeo Rokka

    Bartolomeo Rokka Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Bartolomeo
    Ты лучше бы за своей репутацией следил школьник.

    Я дюпы выкладываю просто так. потому что детям это нравится. + я выкладываю все что попало в паблик и не помогаю таким низким людям как ты. этот форум давно сгнил, поэтому я перестал тут писать. начиная от того что все поголовно пытаются обмануть для своей выгоды. заканчивая даже тем , что ты зная ошибки с пакет хаками и прочим дерьмом не пишешь про них...

    Про фиксы конкурентов. Кто уж виноват что 228 школопроекты не исправляют настолько баянистые и публичные дюпы ?! Если я помогаю кому то то я очень рад за них.

    Так называемые тобой конкуренты ничего сами не могут придумать и сделать. Весь рукластер под копирку катает друг с друга идеи... Если я что то выкладываю, то не считаю что это очень поможет конкурентам,а если и поможет, это лишь показывает что я выложил то, что у конкурентов работает.

    Я довольно открыто иду на контакт когда мне пишут люди и помогаю многим проектам сейчас с поиском и исправлением ошибок.
    Ты вправду считаешь что найди дюп , быстрее отснять его и " присвоить себе" это достижение ?
    Я могу передать в видео тебе привет , может тебя это успокоит ?
     
    Последнее редактирование: 9 окт 2016
  18. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну тут я с тобой полностью согласен. Все копипастеры, сайты, сборки серверов.
     
    Последнее редактирование: 9 окт 2016
  19. Bartolomeo Rokka

    Bartolomeo Rokka Участник Пользователь

    Баллы:
    36
    Имя в Minecraft:
    Bartolomeo
    я стараюсь оповещать админов об ошибках проектах , я не хожу больше по серверам чтобы " баловаться дюпать и делать раздачи " . Да была дурная слава но люди меняются.:rolleyes: .
     
  20. Adam.Baylin

    Adam.Baylin Активный участник Пользователь

    Баллы:
    61
    Да, люди меняются, но только на половину :) Кстати, мне интересно знают ли школьники про этот сайт?)
    А вы же с Натакорном(natakorn, как-то так) Общались. Вы оба снимали видео про обходы на проекты. Что с ним стало? Первый канал в ban улетел, потом и второй.
    И, Барто детям нравятся дюпы, но все в конце концов сводится к деньгам не правда ли?
     

Поделиться этой страницей