Ответ
Основные виды атак на веб-приложения включают:
-
SQL-инъекция (SQL Injection) Внедрение вредоносного SQL-кода через поля ввода, что позволяет атакующему получить несанкционированный доступ к базе данных, изменять или удалять данные.
- Защита: Использование параметризованных запросов (prepared statements) или ORM.
-- Уязвимый код query = "SELECT * FROM users WHERE name = '" + userName + "';" -- Пример инъекции, если userName = "' OR 1=1 --" -
Межсайтовый скриптинг (XSS, Cross-Site Scripting) Внедрение вредоносного JavaScript-кода на страницу, который выполняется в браузере другого пользователя. Может использоваться для кражи сессионных cookie, редиректа на фишинговые сайты или изменения содержимого страницы.
- Защита: Экранирование (escaping) всего пользовательского вывода, использование заголовка
Content-Security-Policy(CSP).
- Защита: Экранирование (escaping) всего пользовательского вывода, использование заголовка
-
Межсайтовая подделка запроса (CSRF, Cross-Site Request Forgery) Атака, заставляющая браузер аутентифицированного пользователя выполнить нежелательное действие на сайте (например, сменить пароль, совершить перевод средств). Атакующий подготавливает специальную ссылку или форму на своем сайте.
- Защита: Использование анти-CSRF токенов для каждого запроса, изменяющего состояние.
-
Отказ в обслуживании (DoS/DDoS) Перегрузка сервера большим количеством запросов с целью сделать его недоступным для легитимных пользователей. DDoS-атака выполняется с множества устройств (ботнета).
- Защита: Ограничение количества запросов (rate limiting), использование CDN и специализированных сервисов защиты.
-
Человек посередине (MITM, Man-in-the-Middle) Атакующий перехватывает и, возможно, изменяет трафик между клиентом и сервером. Особенно опасно в незащищенных Wi-Fi сетях.
- Защита: Использование шифрования трафика с помощью протокола HTTPS (TLS/SSL).