Быстрые ссылки
который Атака с помощью внедрения скрипта, часто называемая удаленным выполнением кода (RCE), представляет собой атаку, совершаемую злоумышленниками, которые имеют возможность внедрить и выполнить вредоносный код в приложение; Инъекционная атака. Этот внешний код способен поставить под угрозу безопасность данных, целостность базы данных или частную собственность. Во многих случаях они могут обойти контроль аутентификации, и такие атаки обычно связаны с приложениями, которые полагаются на вводимые пользователем данные, которые они хотят выполнить.
В общем, приложения более уязвимы, если код выполняется без предварительной проверки. Ниже показан простой случай уязвимого кода.
В приведенном выше примере информационная страница PHP уязвима и будет отображаться, если URL-адрес http://example.com/?code=phpinfo (); Оно работает.
Поскольку взаимодействие пользователя с приложениями имеет важное значение в современном онлайн-мире, внедрение кода стало реальной угрозой для многих онлайн-ресурсов.
Типы атак путем внедрения скриптов
В основном существует четыре типа атак путем внедрения скриптов: внедрение SQL, внедрение JavaScript, внедрение оболочки и динамическая оценка. Все они имеют один и тот же принцип работы, то есть код вводится в них и выполняется приложениями, но я сосредоточусь на двух случаях: внедрении SQL и внедрении сценариев.
Как работает SQL-инъекция?
В случае SQL-инъекции атака направлена на повреждение законного запроса к базе данных для получения мошеннических данных. Злоумышленник должен сначала найти запись кода в целевом веб-приложении, встроенном в запрос SQL.
Этот метод эффективен только в том случае, если веб-приложение имеет пользовательский ввод, включенный в инструкцию SQL. Затем можно вставить полезную нагрузку (вредоносный оператор SQL) и запустить на сервере базы данных.
Следующий код псевдосервера на стороне сервера представляет собой простой пример аутентификации, которая может быть уязвима для внедрения SQL.
В приведенном выше коде злоумышленник может вставить полезную нагрузку, которая изменит инструкцию SQL, выполняемую сервером базы данных. Пример установки поля пароля на:
password’ OR 1=1
Это автоматически запускает следующий оператор для сервера базы данных:
SELECT id FROM users WHERE username=’username’ AND password=’password’ OR 1=1
Что может делать SQL-инъекция?
Это наиболее распространенный тип программирования инъекций. Учитывая тот факт, что SQL - это язык, используемый для управления данными, хранящимися в СУБД, атака, использующая возможность давать и выполнять операторы SQL, может использоваться для доступа, изменения и даже удаления данных.
Это может дать злоумышленнику возможность обойти аутентификацию, полностью раскрыть данные, хранящиеся в базе данных, оспорить целостность данных и вызвать проблемы с отказом, изменить балансы и отменить транзакции.
Как предотвратить SQL-инъекцию
Есть несколько шагов, чтобы сделать ваши приложения менее уязвимыми, но перед любым из этих шагов лучше всего предположить, что все данные, предоставленные пользователями, опасны, и вы не доверяете ни одному из них. Тогда вы можете рассмотреть следующее:
- Отключить использование динамического SQL - это означает, что запросы к базе данных не создаются с вводом пользователя. При необходимости очистите, проверьте и выйдите из значений перед выполнением запроса с данными, введенными пользователем.
- Воспользуйтесь преимуществами брандмауэра. Брандмауэр веб-приложения (программного обеспечения или приложения) поможет отфильтровать вредоносные данные.
- Покупайте лучшее программное обеспечение - это просто означает, что программист будет нести ответственность за проверку и выявление дефектов.
- Шифруйте или хэшируйте пароли и любые другие конфиденциальные данные, которые у вас есть, они должны включать строки подключения.
- Избегайте подключения к базе данных с учетными записями администратора премиум-класса, если в этом нет крайней необходимости.
Скрипт. Инъекция
Эта уязвимость системы безопасности представляет собой угрозу, которая позволяет злоумышленникам внедрять вредоносный код напрямую через веб-формы веб-сайтов, управляемых данными, через виджеты. Эту атаку часто называют межсайтовым скриптингом или XSS. отметки считаются و و و و و و و هي الأكثر استهدافًا لحقن Script.
Как предотвратить внедрение скрипта
Действия по предотвращению внедрения сценария зависят от кода сценария, который вы используете. В общем, вам понадобятся:
- Проверяйте и дезинфицируйте вводимые пользователем данные (поля ввода любой формы), удаляя или закрывая потенциально опасный контент
- Очистить строки запроса в URL-адресах
- Проверяйте и дезинфицируйте все формы данных, массивов и объектов перед выполнением на сервере
Заключение
Проще говоря, профилактика лучше лечения. Благодаря новым технологическим обновлениям нашим системам становится больше угроз. Чтобы быть в курсе событий, важно иметь последние исправления и обновления, а также придерживаться лучших практик. Это затрудняет возможность стать жертвой этих злонамеренных атак.