• Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 3. Устанавливаем мини-игры



      Часть 1. Выбираем и устанавливаем сервер

      Часть 2. Устанавливаем карту для лобби сервера

      Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
      По любым вопросам пишите в Discord.

      И так, лобби у нас готово, теперь нам нужно запустить сервера с мини-играми и прокси сервер.
      Для этого нам понадобится такие плагины:

      • BungeeCord — прокси, который объединяет сервера в одну сеть и делает незаметным переход между ними для игрока
      • SuperLobbyDeluxe — отличный плагин, который позволяет настраивать лобби, ограничивать права игроков на создании и разрушение блоков, отключать смену погоды и времени и многое другое.
      • Citizens — плагин для создания npc
      • Citizens Server Selector — плагин для создания npc с командами перехода между серверами
      • ItemJoin — плагин, позволяющий выдать игроку определенные предметы при подключении к серверу
      • Chest Commands — прекрасный плагин для создания графического пользовательского интерфейса
      • Murder Mystery — популярная мини-игра
      • Holographic Displays — плагин, позволяющий создавать голографические надписи, требуется, как зависимость, для Murder Mystery
      • BSkyBlock — еще одна популярная мини-игра
      • LuckPerms — очень удобный плагин для управления правами пользователей
      Читать дальше →
    • Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 2. Устанавливаем карту для лобби сервера



        Часть 1. Выбираем и устанавливаем сервер

        Часть 3. Устанавливаем мини-игры

        Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
        По любым вопросам пишите в Discord.

        После публикации первой части статьи по установке своего Minecraft сервера, ко мне обратился один читатель Хабра. В письме он написал, что по неосторожности показал мою статью своим детям и ему пришлось пообещать сделать все, как написано. Теперь я, как отец двух детей, просто не имею морального права не закончить серию этих статей. Поэтому поехали.
        Читать дальше →
      • Поднимаем свой полноценный игровой Minecraft сервер с мини-играми. Часть 1. Выбираем и устанавливаем сервер



          Часть 2. Устанавливаем карту для лобби сервера

          Часть 3. Устанавливаем мини-игры

          tl;dr;
          И так, что будет сделано в конце всего туториала?

          • создадим основной сервер, так называемое лобби — место, куда попадают все игроки, только что подключившиеся к серверу
          • запустим второй сервер, на котором установим популярную мини-игру Murder Mystery
          • установим и настроим прокси сервер, который соединит игровой клиент и запущеные серверы таким образом, что игроки не заметят, что они переходят с одного сервера на другой
          • создадим игрового персонажа, который будет перенаправлять нас на сервер с мини-игрой
          • Установим еще одну популярную мини-игру SkyBlock
          • Добавим внутриигровое меню на основе предметов инвентаря игрока
          • Добавим внутриигровые деньги
          • Создадим магазин
          • … и многое другое

          Посмотреть, что в итоге получилось у меня: mc.piratebayserver.net
          По любым вопросам пишите в Discord.

          Поехали!
          Читать дальше →
        • Как купить иллюзию безопасности в виде детских смарт-часов

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


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


            Я думаю, что не найдётся человека, который не слышал о таком новом гаджете, как детские смарт-часы. Рынок просто заполонили многочисленные варианты устройств, как правило произведённых в Китае. Цены и функциональность этих устройств варьируются, но лучшие из них включают в себя такой широкий набор функций, как телефон, GPS трекер, мессенджер, фотокамеру, шагомер, ну и конечно же часы. По заявлению производителей — этот гаджет создан специально для детей и включает в себя средства безопасности ребенка. Так думал и я, поэтому стал выбирать в интернете подходящий вариант. Как итог я купил часы FixiTime 3 от компании Elari.


            функциональность этих часов была впечатляющая:


            • GPS/LBS/Wi-Fi-трекинг
            • 2 камеры, доступ к камере часов с подключенного смартфона
            • поддержка входящих и исходящих голосовых вызовов, в том числе скрытых
            • голосовой чат
            • шагомер
            • ну и Фиксики внутри, как без них же


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

            Читать дальше →
          • Получаем список пассажиров рейсов крупнейшего авиаперевозчика Украины

              В данной статье речь пойдёт о том, как я обнаружил уязвимость, которая позволяла получить список пассажиров рейсов Международных Авиалиний Украины — самого крупного авиаперевозчика Украины, а также об отношении самой компании к факту наличия такой информации в публичном доступе.

              Больше месяца назад я начал готовиться к отпуску и как раз пришло время бронировать авиабилеты. Так я оказался на сайте авиакомпании МАУ. В процессе выбора мест в самолёте, страница, которая должна была отображать схему мест, никак не хотела загружаться.



              Я решил открыть в Google Chrome инструмент разработчика, чтобы попытаться понять, в чём проблема. Изучив запросы к серверу, я увидел, что данные о доступных местах сервером возвращаются.

              Опробовав несколько разных браузеров, я так и не решил проблему, однако заметил, что запрос, который возвращает список доступных мест, выполнялся во всех браузерах успешно, не смотря на то, что сессионные куки были доступны только в Google Chrome.
              Читать дальше →
            • Почему в Украине всё-таки есть белые хакеры

                Эта статья будет ответом на недавнюю публикацию Владимира Таратушка.
                Причин написания статьи у меня было несколько.
                Первая — это показать, что белые хакеры в Украине есть. Существуют они благодаря одной из программ поощрения поиска уязвимостей, которую проводит Приватбанк.
                Следующая причина — это рассказать свою success story работы с одним из крупнейшим банком Украины в рамках данной программы.
                Так же я хочу показать эффективность работы такой программы на реальном примере и сподвигнуть к организации таких программ те компании, которые по каким то причинам сомневаются или не видят в них реальных плюсов.
                Ну и последняя причина — показать будущим и настоящим ресёчерам, что участие в баг-баунти программах интересно, этично и материально выгодно.
                Читать дальше →
              • Добавляем произвольный телефон в личном кабинете оператора мобильной связи Киевстар (Украина)

                  Я являюсь клиентом украинского оператора сотовой связи Киевстар и пользователем их веб-сервиса my.kyivstar.ua. Как и многие другие операторы, Киевстар предлагает веб-версию личного кабинета, в котором можно просмотреть баланс счёта, детализацию звонков, изменить тариф, заказать или отключить услугу и пр.
                  Так же у них недавно была запущена новая версия личного кабинета new.kyivstar.ua. В ней появилась интересная функция — добавление другого телефона Киевстар через смс верификацию. Я взялся её проверить на наличие уязвимостей, так как она фактически давала такой же доступ к добавляемому телефону, как и к своему, что меня не особо радовало, как клиента.
                  Новый сайт имеет следующий интерфейс добавления телефона:

                  Читать дальше →
                • Борются ли банки со скиммингом в банкоматах

                    В очередной раз, снимая деньги в банкомате одного из украинских банков, обратил внимание на информационное сообщение, которое просило убедиться, что ПИН-клавиатура соответствует изображению на экране. Сверив изображение, я понял, что клавиатуры разные.



                    Я осмотрел ПИН-клавиатуру в банкомате и убедившись, что она не накладная, снял деньги. Это был банкомат ПАО Банк Петрокоммерц-Украина. Получается, что там не знают, как выглядят клавиатуры их банкоматов, либо они отличаются от банкомата к банкомату.

                    В дальнейшем, я стал изучать такие информационные сообщения в других банкоматах и понял, что это проблема не конкретного банка.
                    Читать дальше →
                  • Угнать за 9 символов

                      Сегодня я расскажу вам историю об уязвимости, которая существовала в одном интернет-банке много лет. Её эксплуатация была настолько элементарной, а опасность была настолько не очевидна, что ни кто так и не обратил на неё внимание.

                      С этим банком у меня была договорённость о поиске уязвимостей и все мои действия были санкционированными. В тот вечер я уже потратил приличное время на поиск более-менее критичной уязвимости и так не найдя ничего стоящего, было уже отчаялся. Но тут мой взгляд зацепился за один параметр в череде запросов к серверу в момент авторизации. К слову, этот банк использовал передовую и очень надежную технологию авторизации, а именно двухфакторную авторизацию через смс. Так вот, параметр GET запроса, на который я обратил внимание, имел вид: go=/path/to/some/page
                      и формировался на стороне сервера для дальнейшей переадресации. Но проблемой было то, что путь для переадресации был относительным и добавлялся к домену сайта и поэтому я игнорировал этот запрос в своих предыдущих исследованиях. К тому же, что бы в нем существовала потенциальная уязвимость, должен был иметь место ряд факторов, а именно:
                      1). возможность при помощи значения параметра go
                      обеспечить переадресацию на сторонний домен
                      2). возможность на клиенте задавать значение этого параметра
                      3). и наконец, после авторизации при редиректе на сторонний домен должна передаться какая нибудь ценная информация

                      В итоге, с малой надеждой на какой либо результат, я начал искать пути эксплуатации потенциальной уязвимости.
                      Читать дальше →
                    • Эксплуатируем XSS уязвимость на сайте ipay.ua для кражи карточных данных

                        Продолжая пентестинг отечественных платежных систем, я остановился на довольно популярном в Украине платежном сервисе ipay.ua.

                        Меня интересовало, на сколько PCI DSS сертификация платежными системами и проводимое ими ежеквартальное ASV-сканирование (в том числе на наличие XSS уязвимостей) гарантирует защиту данных клиентов.

                        Моё внимание привлекла форма p2p переводов по адресу www.ipay.ua/ru/p2p. Проверяя форму на фильтрацию вводимых данных, я добрался до поля для комментария (оно по умолчанию скрыто, что бы оно появилось, нужно поставить курсор в поле «Телефон получателя»). Как обычно, для первичной проверки, начал вводить текст:
                        <script>alert('XSS!')
                        
                        … И только я закрыл скобку, как увидел на экране модальное окно с сообщением.

                        Читать дальше →
                      • Читаем переписку клиентов Ubank с саппортом



                          Я уже писал об уязвимости в мобильном приложении Альфа-Банка, которая позволяла получать выписки по любому клиенту банка.
                          В этот раз я решил проверить мобильное приложение сервиса по приёму платежей Ubank.
                          Для анализа запросов, посылаемых на сервер, я опять использовал программу Fiddler. Как её настраивать, я повторно описывать не буду, кому интересно, могут прочитать об этом в вышеуказанной статье. Единственное, что я сделал по другому, это воспроизводил запросы не через плагин Postman в Google Chrome, а используя встроенный в Fiddler инструмент Composer.

                          Исследуя запросы, отправляемые приложением на сервер, я обнаружил, что при загрузке истории переписки с саппортом не выполняется проверка на привязку идентификатора сообщения к сессии пользователя, а соответственно, перебирая id сообщений, мы можем получить переписку других пользователей с поддержкой.

                          Итак, используя Fiddler, я записал запрос получения содержимого сообщения из переписки с саппортом:
                          Читать дальше →
                        • Банальная XSS уязвимость на странице p2p переводов Фидобанка, позволяющая украсть cvv2 код пользователя

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

                            К сожалению, не все банки это понимают.

                            Однажды пришлось мне воспользоваться услугой мгновенного перевода с карты на карту, для этой цели я решил воспользоваться сервисом одного из украинских банков, а именно «Фидобанка».
                            После осуществления платежа меня переадресовало на страницу вида pay.fidobank.ua/TransCard/pay?SenderTransID=TS1421332314712
                            Я решил проверить, фильтруется ли значение параметра SenderTransID, которое выводилось на странице.
                            Читать дальше →
                          • Как я племянника с Днем рождения поздравлял

                              В очередной раз, когда я пользовался интернет-банкингом украинского Альфа-банка, мое внимание привлекла форма отправки квитанции на имейл:



                              Интересное в ней было то, что заголовок письма и текст сообщения можно было редактировать. Исследовав отправляемый на сервер запрос, я добился того, что можно было саму квитанцию не отправлять, а только тему письма и текст сообщения.
                              Читать дальше →
                            • Уязвимость в одном из сервисов Альфа-Банка позволяла просматривать выписки по любому клиенту

                                Месяц назад, просматривая мобильное приложение для интернет-банкинга от Альфа-Банка, решил проверить, насколько оно безопасно.



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


                                Читать дальше →
                              • Эти чертовы инкрементальные айдишники

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

                                  Пример №1.
                                  Сайт крупнейшего агрегатора платежных методов в России, обслуживает лидера онлайн-игр. После оплаты заказа переадресовывает клиента на урл вида aggregator-domain/ok.php?payment_id=123456, который в свою очередь переадресовывает на сайт онлайн-игры с адресом вида (декодировал для читабельности) online-game-domain/shop/?...amount=32.86...&currency=RUB...&user=user_email@gmail.com...&item_name=1 день премиум аккаунта...
                                  Перебирая значения параметра payment_id, мы можем видеть логины юзеров в онлайн-игре, покупки, которые они совершали, их сумму.


                                  Читать дальше...