Сервис для
сео - оптимизаторов

Найди ошибки на сайте
Ошибки мешают продвижению сайта
Исправь ошибки на сайте
Сайт без ошибок продвигать легче
Получи новых клиентов
Новые клиенты принесут больше прибыль

Что такое уязвимость, связанная с инъекцией команд?

  1. Зачем веб-приложениям выполнять системные команды? Иногда веб-приложения выполняют команды ОС (команды...
  2. Пример уязвимости, связанной с инъекцией команд
  3. Как предотвратить уязвимости, связанные с инъекцией системных команд

Зачем веб-приложениям выполнять системные команды?

Иногда веб-приложения выполняют команды ОС (команды операционной системы) для связи с базовой операционной системой хоста и файловой системой. Это происходит при размещении веб-приложений под любой операционной системой, включая Windows, Unix и Linux.

Это может быть либо запуск системных команд, либо запуск приложений, написанных на другом языке программирования, например shell, либо выполнение сценариев Python, Perl или PHP. Для этого доступны функции, которые могут выполнить команду, переданную другим сценариям в качестве команды оболочки. Хотя это очень полезная функция, она не менее опасна, если не используется правильно, и может привести к безопасность веб-приложений проблемы, как описано в этой статье.

Почему вы должны быть осторожны при использовании системных команд в веб-приложениях

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

Пример уязвимости, связанной с инъекцией команд

В этом примере уязвимости внедрения команд мы используем функцию ping, которая небезопасна на многих маршрутизаторах. Представьте себе уязвимое приложение, которое имеет общую функцию, которая передает IP-адрес от пользовательского ввода в команду ping системы. Поэтому, если пользовательский ввод 127.0.0.1, в операционной системе хоста выполняется следующая команда:

ping -c 5 127.0.0.1

Поскольку мы имеем дело с уязвимым веб-приложением, можно выйти из команды ping или вызвать ошибку, которая возвращает злоумышленнику полезную информацию. Затем злоумышленник может использовать эту функцию для выполнения своих собственных произвольных команд. Пример добавления дополнительных системных команд может выглядеть так:

ping -c 5 127.0.0.1; Я бы

В приведенном выше примере сначала выполняется команда ping, а сразу после этого происходит выполнение команды id. Поэтому вывод команды на странице будет выглядеть так:

PING 127.0.0.1 (127.0.0.1) 56 (84) байта данных.
64 байта из 127.0.0.1: icmp_seq = 1 ttl = 64 время = 0,023 мс
64 байта из 127.0.0.1: icmp_seq = 2 ttl = 64 времени = 0,074 мс
64 байта из 127.0.0.1: icmp_seq = 3 ttl = 64 времени = 0,074 мс
64 байта из 127.0.0.1: icmp_seq = 4 ttl = 64 времени = 0,072 мс
64 байта из 127.0.0.1: icmp_seq = 5 ttl = 64 времени = 0,037 мс --- статистика пинга 127.0.0.1 ---
5 переданных пакетов, 5 принятых, потеря пакета 0%, время 3999мс
rtt мин / ср / макс / мдев = 0,023 / 0,056 / 0,074 / 0,021 мс
uid = 0 (root) gid = 0 (root) groups = 0 (root)

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

ping -c 5 "$ (id)"

Вышеуказанная инъекция кода возвращает такой ответ:

ping: неизвестный хост uid = 0 (root) gid = 0 (root) groups = 0 (root)

Как предотвратить уязвимости, связанные с инъекцией системных команд

Чтобы злоумышленник не смог воспользоваться уязвимым веб-приложением и вставить специальные символы в команду операционной системы, вы должны стараться избегать системных вызовов, где это возможно. При любых обстоятельствах избегайте ввода данных пользователем, за исключением случаев, когда это абсолютно необходимо. И если это необходимо, убедитесь в наличии надлежащей проверки входных данных (проверка входных данных всегда необходима для обеспечения того, чтобы код веб-приложения не был уязвим к другим уязвимым элементам, таким как XSS и SQL-инъекция).

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

Таблица классификации и серьезности уязвимостей

Похожие

Как установить Firefox Quantum 66 в Linux
Firefox 66 официально выпущен для всех основных ОС, например, для Linux (32/64 бит), Mac OSX, Windows и Android. Бинарный пакет теперь доступен для загрузки для систем Linux (POSIX), возьмите нужный и наслаждайтесь просмотром с новыми функциями, добавленными в него. Что нового в Firefox 66 Этот новый выпуск поставляется со следующими функциями: Новая функция, которая предотвращает автоматическое воспроизведение звука на сайтах.
WLAN от сокета: что такое Vodafone GigaCube?
Сама по себе прекрасная вещь: WLAN от сокета с Vodafone GigaCube , который легко выглядит в рекламе. Но так ли это на самом деле так легко? И какие расходы на самом деле идут ко мне? Мы расскажем, что значит Wi-Fi из розетки и стоит ли, по нашему мнению, нового
Как создать программу установки флешку с Windows 7
Всем привет, уважаемые читатели. Более 20-ти дней я ничего не писал в блог, не появлялся онлайн, не отвечал на письма и не давался слышать. Такого большого перерыва в своей деятельности я еще не помню. Почему так случилось? И все банально просто - несколько дней я возился с ПК (перевстановлював операционную систему, восстанавливал данные), а затем вирус положил меня в постель на две недели и ни о какой работе уже даже не думалось. Которая может быть активность, когда красный нос, воспаленные
Как удалить видео с iPad, чтобы освободить место для хранения
... сем привет! Мне нужна ваша помощь, пожалуйста! Я сохранил много видео на своем iPad, и теперь я обнаружил, что на моем iPad недостаточно места для хранения. Поэтому я хочу удалить эти видео и освободить место на моем iPad. Есть ли простой способ сделать это? Буду признателен за все ваши предложения, спасибо! Пользователи iPad в основном используют устройство для игр и просмотра видео. Видеоролики можно приобрести в iTunes Store или синхронизировать
Как создать кнопку Gmail с генератором значков электронной почты
Одна из больших проблем перевода нашего адреса электронной почты в текстовом формате, таком как
Добавь подземелья, руины и поиски сокровищ в свой мир Minecraft с помощью MCDungeon
Если вы устали исследовать ванильный мир Майнкрафта и ощущения от спотыкания о крошечных подземельях или раскидистых шахтах исчезли, у нас
Как установить iOS 10 / iOS 10.1 / iOS 10.2 на iPhone / iPad
Резюме Это руководство предлагает 2 способа помочь вам установить iOS 10 / iOS 10.1 / iOS 10.2 на ваш iPhone, iPad или iPod touch: установить iOS 10 на устройство (а) по беспроводной сети или через iTunes. Новый iOS 10 был представлен на WWDC 2016, а публичная бета-версия стала доступна 7 июля. Многие пользователи скачали и установили ее на свои iPhone / iPad / iPod, чтобы попробовать. Эта новая операционная
Сравнительный тест: комплекты безопасности
Поскольку мы вступили в период, когда наша цифровая жизнь нарушается как криминальными, так и другими элементами, хорошая защита чрезвычайно важна. Вопрос в том, примут ли современные вызовы безопасности. В ТЕСТЕ: Bitdefender - Полная безопасность 2018 F-Secure - полная безопасность и конфиденциальность Касперский - Тотальная безопасность Нортон - Премиум безопасности 22.10.1.10
... стил неделю назад: Только подмножество телефонов Windows Phone получат обновление для создателей W...
... стил неделю назад: Только подмножество телефонов Windows Phone получат обновление для создателей Windows 10 когда он начнет выкатываться 25 апреля.
Как остановить постоянные запросы пароля iCloud на старых компьютерах Mac и iPhone
Я сталкивался с повторяющейся проблемой с клиентами, когда старые устройства снова и снова будут запрашивать пароли iCloud, и запросы не перестанут поступать, несмотря на то, что пользователь вводит правильный пароль несколько раз. Они видят что-то вроде этого: И если они нажмут «Настройки iCloud» в этом поле,
Как создать успешный сайт, который привлекает миллионы посетителей!
За прошедшие годы тысячи людей спросили нас, как мы создали этот веб-сайт и как они могут создать свой собственный. Сегодня я хотел бы поделиться с вами простой стратегией, которую мы используем для создания наших веб-сайтов, привлечения миллионов посетителей и получения дохода на автопилоте. Наши методы доказали свою успешную работу во многих отраслях для нас и для других людей. В некотором смысле вы можете рассмотреть то, что я собираюсь поделиться с вами, свой собственный план создания

Комментарии

Можете ли вы сказать, что несколько сотен евро, отделяющих ноутбук от конкурента, стоят того, чтобы рискнуть обслуживанием китайского импортера и этапом настройки машины?
Можете ли вы сказать, что несколько сотен евро, отделяющих ноутбук от конкурента, стоят того, чтобы рискнуть обслуживанием китайского импортера и этапом настройки машины? Мы не можем принять это решение за вас. Но если все пойдет хорошо, вы не пожалеете о своих 700 €. топ Соотношение цена / качество Лучшие отделки поливалентный плохой Сложная конфигурация SAV случайные магазины Клавиатура не совсем
Что может означать для бухгалтера высшее образование в КИБиТ?
Что может означать для бухгалтера высшее образование в КИБиТ? Способ реализовать свои амбиции, получить хорошую должность и достичь высоких карьерных высот. КИБиТ и изучения бухгалтерского учета. Учиться хотят многие. И все они знают «что?» И «Когда?», Но не знают «Где?» Отвечая на вопрос: «Где учат на бухгалтера? », Мы скажем - там, где преподают практики и в наличии хорошая материальная
«После шести месяцев неурядицы и разговоров с любым дружественным лицом меня поразила одна вещь: как обычно разговор ведет к тому, кто был, где и что видел, с вопросом« сколько стран вы посетили?
«После шести месяцев неурядицы и разговоров с любым дружественным лицом меня поразила одна вещь: как обычно разговор ведет к тому, кто был, где и что видел, с вопросом« сколько стран вы посетили? ' неизбежно просят. «У разных людей были разные способы отслеживать и делиться своим« списком посещений », у одних это было написано в журнале, у других напечатано в электронной таблице, и я даже встретил кого-то, у кого на спине была татуировка! Было ясно, что желание записать и отметить, какие
Что еще вы хотите узнать о веб-разработчике Python?
Что еще вы хотите узнать о веб-разработчике Python? Я создал веб-приложение на Python, и как мне его развернуть? Я хочу научиться кодировать веб-приложение на Python с использованием фреймворка. Что такое интерфейсы программирования веб-приложений
Как вы можете защитить свои инвестиции и что произойдет, если что-то пойдет не так?
Как вы можете защитить свои инвестиции и что произойдет, если что-то пойдет не так? Вероятно, наиболее широко используемый ключ в аудио-мире,
Что касается выяснения этого, хорошо, что вы увлечены?
Что касается выяснения этого, хорошо, что вы увлечены? Какова ваша самая большая область знаний? Как вы можете помочь людям? Знаете ответ на этот вопрос? Тогда вы готовы начать. Как создать сайт и заработать на нем деньги Если у вас есть большая идея, первые несколько шагов, которые вы собираетесь сделать, очень просты.
Что такое слушатель?
Что такое слушатель? Создание проекта в NetBeans Реализация ServletContextListener Реализация HttpSessionListener Заключение Что такое слушатель? Слушатель - это в основном предопределенные интерфейсы, которые доступны разработчикам в жизненном цикле приложения для решения некоторых задач, особенно при работе с ServletContext, а также с объектами HttpSession. Хотя это экономит много времени, оно также делает
Что мне нужно?
Что мне нужно? Чтобы следовать этому уроку, вам понадобится карта Minecraft, копия файлов MCDungeon, упакованных для вашей ОС, и немного времени, чтобы ознакомиться с MCDungeon и запустить его. Для целей этого урока мы модифицируем карту Minecraft версии 1.8.1 с помощью MCDungeon, но вы можете использовать ее с более ранними версиями игры, если хотите. Мы также будем использовать версию пакета для Windows. Конечная функциональность приложения не изменяется в зависимости
Что такое Блокнот ++?
Что такое Блокнот ++? Notepad ++ это в основном то, что случилось бы, если бы вы вводили блокнот со стероидами и заставляли его работать. Он поддерживает несколько языков программирования и функции подсветки синтаксиса, свертывания синтаксиса, поиска / замены PCRE (совместимых с Perl регулярных выражений), автозаполнения, редактирования нескольких документов, печати WYSIWYG, увеличения и уменьшения масштаба, закладок, записи и воспроизведения
Но угадайте что?
Но угадайте что? Есть более простой способ! Все, что вам нужно, - это переходник USB-C на HDMI, а затем вы можете подключить Chromebook непосредственно к любому относительно свежему телевизору или проектору - будь то в конференц-зале для вашей важной презентации или в гостиничном номере для вашего не менее важного декомпрессия Мне снова повезло с предложением Анкера, которое в настоящее время работает 24 доллара на Amazon
В любом случае, это 2017 год - мы должны были ожидать, что приложение для обмена сообщениями станет таким мощным, верно?
В любом случае, это 2017 год - мы должны были ожидать, что приложение для обмена сообщениями станет таким мощным, верно? Но упаковывает ли Google Allo все необходимое для серьезной конкуренции с WhatsApp, или он в конце концов преклонится перед королем мессенджеров, как Google+ перед Facebook, который также является владельцем WhatsApp. Что ж, мы узнаем обо всем этом только в будущем, и как бы @Google (Google Assistant in Allo), это не поможет нам найти это. Со временем и

Зачем веб-приложениям выполнять системные команды?
WLAN от сокета: что такое Vodafone GigaCube?
Но так ли это на самом деле так легко?
И какие расходы на самом деле идут ко мне?
Почему так случилось?
Есть ли простой способ сделать это?
Можете ли вы сказать, что несколько сотен евро, отделяющих ноутбук от конкурента, стоят того, чтобы рискнуть обслуживанием китайского импортера и этапом настройки машины?
Что может означать для бухгалтера высшее образование в КИБиТ?
И все они знают «что?
» И «Когда?