Skip to main content

Что такое командная инъекция?

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

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

Когда код выполняется, он может делать такие вещи, как предоставление людям доступа к бэкэнду компьютерной системы, включая административный доступ, а также может создавать вирусы и вредоносные программы в компьютерной системе. Инъекции команд могут быть разработаны для распространения самих себя, поскольку зараженные компьютеры взаимодействуют с незараженными компьютерами по сети. Они могут распространяться очень быстро и могут нанести существенный ущерб по пути.

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

Потенциальный риск, связанный с введением команд, впервые был отмечен в 1990-х годах. Многочисленные дизайнеры решили эту проблему и придумали различные способы предотвращения или прекращения атак с использованием командных инъекций. Хакеры также пытались разработать свои собственные обходные пути, разрабатывая новые и творческие способы выполнения кода через слабые места в компьютерной системе. Некоторые люди разрабатывают новые методики из чисто академического интереса и иногда наносят ущерб случайно, когда их исследования, так сказать, уходят в дикую природу.