Наша работа - Ваша уверенность
ТОП 10 OWASP. Инъекции

Продолжаем рассказывать об уязвимостях из рейтинга ТОП 10 OWASP. Ранее уже писали про небезопасный дизайн, а также знакомили вас с рейтингом в общем виде.

Уязвимость А03.2021 Инъекции в рейтинге OWASP в 2021 году опустились на третью позицию. В статье раскроем подробнее понятие инъекций, когда они встречаются и как избежать эту уязвимость.

Понятие и возникновение инъекций

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

Самые часто встречающиеся инъекции: межсайтовый скриптинг (раньше рассматривался как отдельная уязвимость), SQL-инъекции, внешний контроль имени или пути файла.

Инъекция – ввод вредоносных данных для получения несанкционированного доступа к ресурсам. При инъекциях происходит непредусмотренная создателем веб-ресурса работа.

Эта уязвимость возникает, если:

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

 

Предотвращаем инъекции

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

Хороший результат работы дает автоматизированное тестирование:
Эта уязвимость возникает, если:

    • параметров и заголовков;
    • URL – адресов;
    • cookie;
    • JSON, SOAP;
    • входных данных XML.

 
Кроме того, советуем следующие меры:

  1. Безопасный API. Это позволяет защитить данные при аутентификации и авторизации пользователей.
  2. Проверка входных данных на стороне сервера («белый список»). Помните, что некоторые приложения используют свои специальные символы, поэтому такая мера защиты несет частичный характер.
  3. Экранирование строки запроса с помощью синтаксиса конкретного интерпретатора.
  4. Для предотвращения массовой утечки из базы данных в SQL-таблице используйте ограничения в SQL-запросах.

Примеры атак с применением инъекций

SQL-инъекция

Построение уязвимого вызова приложением. При этом SQL – запрос может выглядеть так:

C помощью SQL- запроса внедряется код с ненадежными данными. Например, со специальным символом «’».

Запрос будет уязвимым также при слепом доверии фреймворкам. Например, запрос на языке Hibernate (HQL):

Ситуация в этом запросе аналогичная.

В обоих случаях происходит несанкционированный доступ к данным таблицы учетных записей за счет отсутствия проверки входных данных. Злоумышленник может изменить, удалить данные, вызывать хранимые процедуры.

Межсайтовый скриптинг

Часто такую атаку можно встретить на сайтах объявлений, где нет урегулирования размещения материала. Межсайтовый скриптинг работает на уровне языков Java Script, HTML, Flash и других, выполняемых на стороне браузера.

Например, использование файлов cookie пользователя. Это происходит когда в приложении нет проверки входных данных. Атакующему достаточно ввести такого рода код, например, в сообщении пользователю:

В результате работы скрипта злоумышленник получает cookie, которые может использовать для имитации действий пользователя или доступа к аккаунту.

Контроль доступа к файлу

Еще один яркий пример – контроль доступа к файлу или его пути. Представьте себе некое хранилище изображений с функцией загрузки, удаления и т.д.

Код удаления изображений выглядит так на языке PHP:

Так происходит удаление какого-то конкретного файла на веб-ресурсе. Заменив в третьей строке значение на «rm /var/www/user_photos/.. –rf» злоумышленник удаляет полностью всю папку с файлами без подтверждения авторизации и без возможности восстановления.

 

Существует масса решений против этих атак. Но важно не экономить на разработке и безопасности веб-приложений и сайтов во избежание потери важной информации, репутации и финансов компании. Ещё на стадии идеи стоит продумывать решение этих вопросов.

Поиск
Мы в соцсетях
Рассказываем об информационной безопасности и актуальных ИТ-решениях, делимся своими кейсами и новостями ИТ: Telegram-канал компании «Рубикон»
Дзен-канал компании «Рубикон»
Услуги

Подпишитесь на получение новостей

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

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

Принять