Безопасность · Урок 61

OWASP Top 10 на практике

OWASP Top 10 — это список самых частых веб-уязвимостей. Он и на интервью, и в ревью-чеклистах. Разбираем не теорией, а «как ломают и как чинить».

XSS — внедрение скриптов

// уязвимо: пользовательский ввод вставляется в HTML как есть
div.innerHTML = `Привет, ${comment.text}`;

// безопасно: текст, а не HTML
comment.textContent = comment.text;
ℹ️
Любой ввод может стать кодом. Escape-функции/фреймворки (React по умолчанию экранирует), Content-Security-Policy, валидация на сервере — три линии защиты разом.

CSRF, IDOR, инъекции

// безопасно: параметризованный запрос
await db.query("SELECT * FROM posts WHERE id=$1 AND user_id=$2", [id, userId]);
💡
Ментальная модель: любое действие через HTTP «от имени юзера» — это вектор атаки. Вопрос «а можно ли вот так?» на этапе ревью экономит месяцы боли в проде.