Beri bash i ebash / Говнокод #27876 Ссылка на оригинал

0

  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 TrueGameover, (Updated )

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

        • Ладно, похуй. Можно тупо забиндить корень в докера и оттуда почистить. Так даже прав больше будет...
          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

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

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

                        Потому что в сигнализациях такая хуйня встречается повсеместно.
                        Ответить
            • Всё, сдаюсь, не могу придумать RCE с участием только .env файла, без подкладывания каких-либо ещё файлов на файлуху...

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

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

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

Я, guest, находясь в здравом уме и твердой памяти, торжественно заявляю:

    А не использовать ли нам bbcode?


    8