Первое различие:
ls * -lah
Работает на linux, не работает на mac (параметры должны быть первыми). Используйте виртуальную машину или получите книгу для mac os. Вы должны узнать тот, который вы будете использовать позже, а затем различия.
-121--33452-
Я работаю с CentOS 7, которая может иметь другую настройку. Однако для меня вызов getty
управляется служебным файлом /usr/lib/systemd/system/getty @ .service
. ( @
предназначен для создания шаблонов; он начинается как getty @ tty1.service
, и последовательность tty1
передается в файл и управляет тем, на каком TTY он запущен.) В этом файле имеется строка, начинающаяся с ExecStart =
, которая определяет командную строку. Здесь будут добавлены варианты. (Лучше не редактировать файл в /usr
напрямую, так как он может быть перезаписан системой модернизаций; Вы должны скопировать его в место под /etc
, возможно, /etc/systemd/system
, где он будет теневым файл поставщика.)
Выглядит так, будто то, что требуется при выключении/перезагрузке, лучше всего обрабатывать не путем непосредственной настройки процесса останова/перезагрузки, а путем добавления действия в список действий по выключению службы, которое systemd
будет автоматически выполняться при остановке или перезагрузке системы (или при ручном отключении службы с помощью systemctl
). Быстрый способ сделать это - превратить сценарий в строку ExecStop
команды системной службы; в зависимости от способа настройки, вы также можете создать пользовательский служебный файл, управляющий всем делом, и поместить ExecStop
туда.
-121--78921-
Вопрос:
... может ли такое определение функции быть когда-либо помещено в среду с помощью
export -f
ИЛИ, является ли первый случай единственным способом подачи команд для вызова shellshock?
Ответ: первый случай является единственным способом запуска shellshock.
Вульн запускается интерпретацией переменных среды , а не экспортируемых функций.
Посмотрите на образ Symantec здесь . Прочитайте описание репортером ошибок .
Обработка переменных среды, которые содержат () {...}
, обрабатывается как определения функций. И : из таких переменных, которые имеют завершающий ; cmd
, выполняется команда cmd
. Основная проблема заключается в том, что синтаксический анализ функций не ограничивает интерпретацию одного исполняемого маркера и обрабатывает остальную часть строки, включенной в экспортированный var, как исполняемую команду.
Для выполнения только одной части экспортируемой переменной была предпринята первая попытка исправления . Это было явно недостаточно, так как было быстро обнаружено на несколько дополнительных ошибок .
Итак, нет,ошибка не является результатом неправильного экспорта определения функции, и; быть прочитанным (что происходит в полном управлении оболочкой). Но это результат нескольких проблем при разборе переменных значений, которые могут быть введены злоумышленником.
В любом случае первоначальный репортер ошибки является постоянным пользователем этого сайта. Вполне вероятно, что он приходит, чтобы взглянуть на этот вопрос.