СПРАВОЧНИК
Веб-уязвимости и защита
OWASP Top 10, атаки и способы защиты
Образовательный справочник типичных веб-уязвимостей и способов защиты от них. Для каждой записи коротко объясняется суть угрозы и приводятся практики безопасной разработки: параметризованные запросы, экранирование вывода, заголовки безопасности, контроль доступа. Материал нацелен на понимание рисков и защиту, а не на проведение атак.
Аутентификация и сессии 6
Brute-force атака
Brute-force / credential stuffingПеребор паролей или подстановка утёкших учёток для входа в чужой аккаунт.Безопасность JWT-токенов
JSON Web Token securityОшибки в работе с JWT (алгоритм none, отсутствие проверки подписи) позволяют подделать токен.Небезопасное хранение паролей
Password hashing (bcrypt/argon2)Хранение паролей в открытом виде или через быстрые хеши делает утечку базы катастрофой.Перехват сессии (Session Hijacking)
Session HijackingКража идентификатора сессии позволяет атакующему выдать себя за пользователя.Слабые пароли
Weak password policyКороткие и предсказуемые пароли легко подбираются и компрометируют учётные записи.Фиксация сессии (Session Fixation)
Session FixationАтакующий навязывает жертве известный ему идентификатор сессии до входа в систему.Защита 13
Content-Security-Policy (CSP)
Content-Security-PolicyЗаголовок, ограничивающий источники скриптов и ресурсов и снижающий риск XSS.CORS (совместное использование ресурсов)
Cross-Origin Resource SharingМеханизм, контролирующий, каким сторонним источникам разрешено обращаться к вашему API.HSTS (Strict-Transport-Security)
HTTP Strict Transport SecurityЗаголовок, заставляющий браузер всегда подключаться к сайту только по HTTPS.HTTPS / TLS
HTTPS / TLSШифрование трафика между клиентом и сервером, защищающее данные от перехвата и подмены.Rate limiting (ограничение частоты)
Rate limitingОграничение числа запросов от клиента за период — защита от перебора и DoS.Безопасные куки
Secure / HttpOnly / SameSite cookiesАтрибуты cookie, защищающие сессионные идентификаторы от кражи и подделки запросов.Валидация ввода
Input validationПроверка входных данных на соответствие ожидаемому формату — первый барьер против инъекций.Двухфакторная аутентификация (2FA)
Two-Factor Authentication (2FA/MFA)Второй фактор подтверждения входа защищает аккаунт даже при утечке пароля.Заголовки безопасности
Security HTTP headersНабор HTTP-заголовков, усиливающих защиту браузера от типовых атак.Защита загрузки файлов
Secure file uploadПроверка типа, размера и хранения загружаемых файлов предотвращает выполнение вредоносного кода.Принцип наименьших привилегий
Principle of Least PrivilegeКаждому компоненту и пользователю выдаётся минимум прав, необходимых для работы.Управление секретами
Secrets managementБезопасное хранение ключей, паролей и токенов вне кода и системы контроля версий.Экранирование вывода
Output encoding / escapingПреобразование данных при выводе так, чтобы они не интерпретировались как код.Инъекции 5
LDAP-инъекция
LDAP InjectionВнедрение спецсимволов в LDAP-фильтры для обхода аутентификации или чтения каталога.NoSQL-инъекция
NoSQL InjectionВнедрение операторов запроса в NoSQL-базы (например MongoDB) через непроверенный ввод.SQL-инъекция (SQLi)
SQL InjectionВнедрение SQL-кода через непроверенный ввод, позволяющее изменить логику запроса к базе данных.Инъекция шаблонов (SSTI)
Server-Side Template InjectionВнедрение выражений в серверный шаблонизатор, ведущее к выполнению кода на сервере.Командная инъекция (OS Command Injection)
OS Command InjectionВыполнение произвольных команд ОС через подстановку ввода в системный вызов.Контроль доступа 5
Broken Access Control
Broken Access ControlОтсутствие или ошибки проверок прав позволяют пользователю выполнять чужие действия.IDOR (небезопасные прямые ссылки на объекты)
Insecure Direct Object ReferenceДоступ к чужим объектам через подстановку их идентификатора в запросе.Mass Assignment (массовое присваивание)
Mass AssignmentАвтоматическое присваивание всех полей из запроса позволяет изменить защищённые атрибуты.Path Traversal (обход каталога)
Path Traversal / Directory TraversalЧтение файлов вне разрешённой папки через последовательности вроде ../ в пути.Privilege Escalation (повышение привилегий)
Privilege EscalationПолучение пользователем прав выше положенных — например обычным юзером прав администратора.Конфигурация и данные 6
Security Misconfiguration
Security MisconfigurationНебезопасные настройки по умолчанию, открытые сервисы и включённый режим отладки на проде.Недостаточное логирование и мониторинг
Logging and Monitoring FailuresБез журналов и оповещений атаки остаются незамеченными долгое время.Незашифрованный трафик
Cleartext transportПередача данных по HTTP без TLS позволяет перехватывать пароли и сессии в открытом виде.Раскрытие информации в ошибках
Information disclosure via errorsПодробные сообщения об ошибках раскрывают структуру системы и помогают атакующему.Раскрытие чувствительных данных
Sensitive Data ExposureПередача или хранение персональных и платёжных данных без должной защиты.Утечка через логи
Sensitive data in logsЗапись паролей, токенов и персональных данных в логи создаёт скрытый канал утечки.Обзор 1
Прочее 5
Open Redirect (открытое перенаправление)
Open RedirectПеренаправление на произвольный URL из параметра позволяет маскировать фишинговые ссылки.SSRF (подделка серверного запроса)
Server-Side Request ForgeryПринуждение сервера обращаться к внутренним адресам по URL, заданному пользователем.XXE (внешние сущности XML)
XML External EntityОбработка XML с внешними сущностями позволяет читать файлы сервера и выполнять SSRF.Небезопасная десериализация
Insecure DeserializationДесериализация недоверенных данных может привести к выполнению произвольного кода.Уязвимые зависимости
Vulnerable and Outdated ComponentsИспользование библиотек с известными уязвимостями подвергает приложение риску.XSS и клиентские атаки 5
Clickjacking
Clickjacking (UI redressing)Обман пользователя: целевой сайт встраивается в прозрачный iframe, и клики перехватываются.CSRF (межсайтовая подделка запроса)
Cross-Site Request ForgeryПринуждение браузера жертвы выполнить действие на сайте, где она авторизована, без её ведома.DOM-based XSS
DOM-based XSSСкрипт внедряется через небезопасную работу клиентского JS с DOM, без участия сервера.Отражённый XSS
Reflected XSSВредоносный скрипт из параметра запроса немедленно отражается в ответе и выполняется в браузере жертвы.Хранимый XSS
Stored XSSВредоносный скрипт сохраняется на сервере и исполняется у каждого, кто открывает заражённую страницу.