Внедрение команд
Что такое Внедрение команд?
Внедрение командАтака, при которой пользовательский ввод без фильтрации передаётся в системный шелл, и приложение выполняет команды, заданные злоумышленником.
Внедрение команд (OS command injection) возникает, когда приложение собирает системную команду из недоверенного ввода и передаёт её в шелл. Метасимволы ;, &, |, $() или обратные кавычки позволяют злоумышленнику добавлять команды, исполняемые с привилегиями процесса приложения. Последствия — произвольное чтение и запись файлов, перемещение по сети, обратные шеллы и полный захват сервера. Защита: полностью отказаться от шелла, используя API, принимающие массив аргументов, белые списки допустимых значений, проверенные библиотеки валидации и экранирования, песочницы, запуск сервисов с минимальными правами и фильтрация исходящего трафика для ограничения последствий эксплуатации.
● Примеры
- 01
Утилита ping, конкатенирующая параметр хоста, позволяет через 127.0.0.1; cat /etc/shadow раскрыть хеши паролей.
- 02
Эндпоинт обработки изображений, вызывающий ImageMagick, выполняет команду злоумышленника из подготовленного имени файла.
● Частые вопросы
Что такое Внедрение команд?
Атака, при которой пользовательский ввод без фильтрации передаётся в системный шелл, и приложение выполняет команды, заданные злоумышленником. Относится к категории Атаки и угрозы в кибербезопасности.
Что означает Внедрение команд?
Атака, при которой пользовательский ввод без фильтрации передаётся в системный шелл, и приложение выполняет команды, заданные злоумышленником.
Как защититься от Внедрение команд?
Защита от Внедрение команд обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Внедрение команд?
Распространённые альтернативные названия: Инъекция OS-команд, Shell injection.