Sobes.tech
Назад к вопросам
Middle+
10

Как защититься от SQL-инъекций на уровне информационной системы без использования WAF/IPS/IDS?

Компании, где спрашивали
СовкомбанкСовкомбанк

Ответ от нейросети

sobes.tech AI

Для защиты от SQL-инъекций на уровне информационной системы без использования WAF/IPS/IDS применяются следующие методы:

  1. Использование параметризованных запросов (prepared statements) — вместо динамического формирования SQL-запросов с конкатенацией строк, параметры передаются отдельно, что исключает возможность внедрения вредоносного кода.

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

  3. Использование ORM (Object-Relational Mapping) — большинство ORM автоматически формируют безопасные запросы, минимизируя риск инъекций.

  4. Минимизация прав доступа к базе данных — приложение должно работать с базой под учетной записью с минимально необходимыми правами.

  5. Логирование и мониторинг — отслеживание аномальной активности запросов для своевременного обнаружения попыток атак.

Пример параметризованного запроса на Python с использованием библиотеки psycopg2:

cursor.execute("SELECT * FROM users WHERE username = %s", (username,))

Здесь значение username не вставляется напрямую в строку запроса, а передается как параметр, что предотвращает SQL-инъекцию.