1. bash / Говнокод #27876

    +2

    1. 1
    2. 2
    3. 3
    export $(grep PROJECT_NAME .env | xargs)
    export $(grep USERID .env | xargs)
    docker exec -it -u ${USERID} ${PROJECT_NAME}_application bash -l

    На минуточку в проекте написанный лично разрабом до меня docker-compose.

    Запостил: TrueGameover, 15 Декабря 2021

    Комментарии (23) RSS

    • export MY_FAVORITE_USERID=12345
      export PROJECT_NAME_OLD=Pehetut
      Ответить
      • export THE_FINAL_USERID="|| rm -rf / ||"
        Ответить
        • Блин, не работает (((
          Ответить
          • Ладно, похуй. Можно тупо забиндить корень в докера и оттуда почистить. Так даже прав больше будет...
            export THE_FINAL_USERID=-u 0 --mount type=bind,source=/,target=/xxx ${PROJECT_NAME} rm -rf /xxx
            Ответить
            • В скрипте exec — выполнение команды внутри запущенного контейнера, добавлять маунты в запущенный контейнер «Докер» не умеет.
              Ответить
              • Неужели получается, что это говно безопасно?
                Ответить
              • Так, а если первую или вторую строчку как-то обыграть, чтобы задать для третьей какую-то интересную переменную? Оно ведь грепает не только ключи, но и значения...

                Но что-то там все переменные скучные. Разве что другой хост выбрать вместо дефолтного.
                Ответить
              • LD_PRELOAD=libUSERID.so
                LD_LIBRARY_PATH=/some/dir:PROJECT_NAME

                З.Ы. Лол, работает.
                Ответить
                • Забавно, что даже +x не требуется на so'шке.
                  Ответить
                  • А зачем?
                    ld срать хотел на эти ваши xwr (кстати именно благодаря этому можно сделать исполняемым неисполняемый chmod)
                    Ответить
                    • Х.з., чтобы неисполняемое говно не исполнялось...

                      Хотя похуй, другие интерпретаторы всё равно портят картину и исполняют говно без -x.
                      Ответить
                      • У меня в контроллерах нет никаких "интерпретаторов", поэтому я за контроллеры
                        Ответить
                        • У меня в «DOS» нет атрибута «неисполняемый», именно поэтому я за «DOS».
                          Ответить
                        • а лишп-машина считается контроллером?
                          Ответить
                        • > У меня в контроллерах нет никаких "интерпретаторов"
                          Возможности пользователям создавать «сценарии», которые сохраняются в EEPROM и «интерпретируются» при наступлении события в твоих железках нет?

                          Потому что в сигнализациях такая хуйня встречается повсеместно.
                          Ответить
                          • Сделать такую хуйню конечно же можно (есть даже всякиех там микропитоны и жабаскрипты для контроллеров), но у меня таких задач не было.
                            Ответить
                            • Жабаскрипт в микроконтроллере? No way.
                              Только Pawn, только статическое распределение памяти.
                              Ответить
                              • > no way

                                Там ещё и отладка через браузер была. Всё по канонам.
                                Ответить
                            • https://www.hackster.io/sanyaade1/php-embedded-php4mcu-2bf22c
                              PHP Embedded (PHP4MCU)

                              I started thinking about how to get a PHP framework to work on a small mid-range microcontroller like ESP8266 family, ARM cortex & PIC MCUs.
                              Ответить
              • Всё, сдаюсь, не могу придумать RCE с участием только .env файла, без подкладывания каких-либо ещё файлов на файлуху...

                Вариант с PATH=/some/dir:PROJECT_NAME тоже работает, но требует положить `docker' в /some/dir. Плюс ему придётся быть исполняемым, в отличие от варианта с LD_PRELOAD.

                У export'а нету интересных опций. Интересные перменные в духе BASH_CMDS он не даёт выставить. У самого докера тоже всё скучно.
                Ответить

    Добавить комментарий