Ответ
- XSS (Cross-Site Scripting) — внедрение вредоносного кода в страницу.
Пример:
// Уязвимый код
document.getElementById('output').innerHTML = userInput;
Защита: экранирование (`textContent`), CSP, санитизация (DOMPurify).
-
CSRF (Cross-Site Request Forgery) — выполнение действий от имени пользователя без его ведома.
Защита: CSRF-токены, SameSite cookies. -
CORS Misconfiguration — неправильная настройка заголовков CORS, позволяющая доступ с любых доменов.
Пример уязвимости:
Access-Control-Allow-Origin: *
- Инъекции (SQL, NoSQL, Template) — передача небезопасных данных в запросы.
Пример (NoSQL):
// Уязвимый запрос
db.users.find({ login: req.body.login });
-
Утечка данных — например, через
console.log, хранение токенов в localStorage. -
Clickjacking — наложение прозрачного iframe на кнопки для скрытого клика.
Защита: заголовокX-Frame-Options: DENY. -
Небезопасные зависимости — использование устаревших пакетов с уязвимостями (проверка через
npm audit).
Всегда: валидация, экранирование, HTTPS, принцип минимальных привилегий.