Sobes.tech
Junior — Middle
105

Kādi uzbrukumu veidi jāņem vērā un kā aizsargāt HTTP pieprasījumu parametrus, izstrādājot lietojumprogrammas Django, FastAPI vai līdzīgos ietvaros?

Atbilde no AI

sobes.tech AI

При разработке приложений на Django, FastAPI и подобных фреймворках важно защищать параметры HTTP-запросов от следующих видов атак:

  • SQL-инъекции — злоумышленник пытается внедрить вредоносный SQL-код через параметры запроса. Защита: использовать ORM или параметризованные запросы.

  • XSS (межсайтовый скриптинг) — внедрение вредоносного JavaScript через параметры, который затем выполняется в браузере пользователя. Защита: экранирование вывода, использование Content Security Policy.

  • CSRF (межсайтовая подделка запроса) — атака, при которой злоумышленник заставляет пользователя выполнить нежелательное действие. Защита: использовать CSRF-токены, встроенные в Django и FastAPI.

  • HTTP Header Injection — внедрение вредоносных данных в заголовки HTTP через параметры.

  • Path Traversal — попытка получить доступ к файлам вне разрешённой директории через параметры пути.

  • Remote Code Execution (RCE) — если параметры используются небезопасно, возможна исполнение кода.

Общие рекомендации:

  • Валидировать и фильтровать входные данные.
  • Использовать встроенные механизмы фреймворков для защиты (например, Django ORM, CSRF middleware).
  • Не доверять данным из запроса, особенно если они используются для формирования запросов к базе или файловой системе.

Пример защиты от SQL-инъекции в Django:

from django.db.models import Q

# Безопасный фильтр
users = User.objects.filter(username=request.GET.get('username'))

Здесь ORM автоматически экранирует параметры.