Какие основные уязвимости в вебе важно понимать и почему?
DOM и браузер
Основные веб-уязвимости: XSS, CSRF, инъекции (SQL), небезопасная авторизация, утечки данных и небезопасные зависимости. Без понимания их механики пользователей не защитить.
Основные уязвимости
XSS (Cross-Site Scripting)
Внедрение чужого JS через неэкранированный ввод — крадёт токены, действует от имени пользователя. Защита: экранирование, CSP, DOMPurify.
CSRF (Cross-Site Request Forgery)
Подделка запроса через cookie жертвы. Защита: SameSite cookie, CSRF-токены.
Инъекции (SQL/NoSQL)
Внедрение вредоносного кода в запрос к БД. Защита: параметризованные запросы, ORM, валидация.
Небезопасная авторизация
Слабые пароли, утечка токенов, отсутствие проверки прав (IDOR). Защита: хеширование паролей, короткие токены, проверка доступа на каждый ресурс.
Другие
- Clickjacking — обёртка сайта в iframe (защита:
X-Frame-Options,frame-ancestors). - Утечки данных — секреты в коде/логах.
- Небезопасные зависимости — уязвимые npm-пакеты (аудит).
- MITM — перехват трафика (защита: HTTPS).
Общие принципы
- Не доверять клиентскому вводу, валидировать на сервере.
- Принцип наименьших привилегий.
- HTTPS, актуальные зависимости, security-заголовки.
Коротко для собеседования
Основные уязвимости: XSS (внедрение скрипта), CSRF (подделка запроса через cookie), инъекции SQL, небезопасная авторизация/IDOR, clickjacking, MITM, уязвимые зависимости. Защита: экранирование, CSP, SameSite, параметризованные запросы, HTTPS, валидация на сервере, аудит пакетов (ориентир — OWASP Top 10).
Подробнее: OWASP Top 10