Центр безопасности (Valkyrie Security Center)

Единый раздел, где объяснено, какие угрозы существуют в веб-среде, как их распознать и устранить. Здесь вы найдёте список уязвимостей, их описание на человеческом языке и рекомендации, как защитить ваш проект. Этот центр создан для клиентов и партнёров Valkyrie, чтобы повысить прозрачность и доверие к процессу диагностики.

SQL Injection

high

Ввод пользователя попадает в SQL-запрос без корректной фильтрации.

Чем опасно: Утечка/удаление/изменение данных в БД, получение доступа к конфиденциальным данным.

Исправление: Сказать клиенту: «Нужно санитизировать запросы и использовать подготовленные выражения (prepared statements).» Работы: внедрить parameterized queries (PDO/ORM), валидировать ввод, провести ревизию запросов.

Cross-Site Scripting (XSS)

high

Вредоносный скрипт вставляется и выполняется в браузере других пользователей.

Чем опасно: Кража сессий, подмена страниц, фишинг, выполнение действий от имени пользователя.

Исправление: «Необходимо экранировать ввод и задать CSP.» Работы: экранировать вывод, ввод валидировать, включить Content-Security-Policy, пометить cookie HttpOnly.

Cross-Site Request Forgery (CSRF)

high

Браузер пользователя отправляет действия на сайт без его явного согласия.

Чем опасно: Нежелательные действия от имени пользователя (смена пароля, перевод и т.п.).

Исправление: «Нужно добавить токены защиты запросов (CSRF tokens).» Работы: реализовать CSRF-токены на формах, проверять Referer / SameSite cookie.

Broken Authentication

high

Слабые механизмы входа/сессий: предсказуемые пароли, нет блокировок.

Чем опасно: Угон аккаунтов, массовые компрометации пользователей.

Исправление: «Надо усилить вход и сессии: блокировки и 2FA.» Работы: ввести сложные пароли, rate-limit, account lockout, двухфакторную аутентификацию, корректное хранение паролей (bcrypt/argon2).

Broken Access Control (IDOR)

high

Пользователь получает доступ к данным/функциям, к которым не должен иметь доступ.

Чем опасно: Чтение/изменение чужих данных, повышение привилегий.

Исправление: «Проверим права на каждом запросе и исправим проверки.» Работы: везде проверять авторизацию на уровне сервера, не полагаться на ID в URL; реализовать ACL/role checks.

Security Misconfiguration

medium

Неправильные настройки сервера/приложения (отладка, лишние сервисы, дефолтные пароли).

Чем опасно: Упрощает доступ злоумышленника к служебной информации и инструментам.

Исправление: «Нужно убрать отладочные страницы и проверить конфигурацию сервера.» Работы: отключить режимы debug, закрыть служебные порты, сменить дефолтные пароли, актуализировать конфиги.

Sensitive Data Exposure

high

Чувствительные данные хранятся или передаются без защиты.

Чем опасно: Кража персональных/финансовых данных, юридические и репутационные последствия.

Исправление: «Шифрование и аккуратное хранение данных обязательны.» Работы: шифровать данные в покое, использовать TLS везде, не логировать секреты, ограничить доступ к данным.

Missing Security Headers

medium

Отсутствуют защитные HTTP-заголовки (CSP, HSTS, X-Frame-Options и т.д.).

Чем опасно: Повышает риск XSS, clickjacking, MITM и других браузерных атак.

Исправление: «Нужно установить стандартные заголовки безопасности.» Работы: добавить HSTS, X-Frame-Options, X-Content-Type-Options, Referrer-Policy, CSP (report-only сначала).

Weak/Missing Content Security Policy (CSP)

medium

Нет ограничений на загрузку скриптов и других ресурсов.

Чем опасно: Проще внедрить сторонние скрипты и выполнить XSS.

Исправление: «Включим CSP в режиме отчётов, чтобы отладить потом включить блокировку.» Работы: внедрить CSP (report-only → enforce), использовать nonce/hashes и минимизировать сторонние скрипты.

Clickjacking / X-Frame

medium

Страницу можно встраивать в iframe чужого сайта и обманом заставить пользователя нажать.

Чем опасно: Пользователь может непреднамеренно выполнить критичные действия.

Исправление: «Запретим встраивание сайта в iframe.» Работы: установить X-Frame-Options: DENY или CSP frame-ancestors 'none'.

Insecure Direct Object References (IDOR)

high

Объекты доступны по предсказуемым ID без проверки прав.

Чем опасно: Просмотр/изменение чужих файлов, заказов, данных.

Исправление: «Проверим права доступа и заменим предсказуемые ID на безопасные ссылки.» Работы: проверять авторизацию при доступе к объектам, использовать непредсказуемые идентификаторы (UUID), ACL.

Insecure Deserialization

high

Приложение десериализует данные от ненадёжного источника без проверки.

Чем опасно: Выполнение вредных действий внутри приложения, возможен удалённый запуск кода.

Исправление: «Отключим десериализацию непроверенных данных и проверим форматы.» Работы: избегать десериализации данных из внешних источников; использовать безопасные форматы (JSON) и валидировать содержимое.

Using Components with Known Vulnerabilities

high

Библиотеки/плагины с известными уязвимостями используются в проекте.

Чем опасно: Через компонент можно получить полный доступ к сайту или утечь данные.

Исправление: «Обновим библиотеки и проведём аудит зависимостей.» Работы: регулярно обновлять зависимости, мониторить CVE, использовать SCA-инструменты (dependabot, etc.).

Insufficient Logging & Monitoring

medium

Нет нормального логирования и сигналов об инцидентах.

Чем опасно: Взломы остаются незамеченными, сложнее восстановить и реагировать.

Исправление: «Нужно настроить логирование и оповещения об аномалиях.» Работы: добавить централизованное логирование, алерты при подозрительной активности, сохранять логи достаточно долго для расследования.

Server-Side Request Forgery (SSRF)

high

Сервер делает внешние запросы по пользовательским URL.

Чем опасно: Доступ к внутренним ресурсам, чтение метаданных облака, обход firewall.

Исправление: «Запретим серверу делать произвольные запросы на внешние адреса.» Работы: валидировать/фильтровать URL, разрешать только белый список доменов, изолировать среду выполнения запросов.

Open Redirect

medium

Сайт перенаправляет пользователя на произвольный URL из параметра.

Чем опасно: Используется в фишинге для подмены доверенных ссылок.

Исправление: «Ограничим перенаправления только на доверенные домены.» Работы: использовать список разрешённых redirect_uri, не принимать произвольные URL из параметров.

Path Traversal

high

Через URL можно обратиться к файлам за пределами корня сайта (../).

Чем опасно: Чтение конфигов, бэкапов, паролей и другой служебной информации.

Исправление: «Ограничим доступ к файловой системе и проверим пути.» Работы: нормализовать и валидировать пути, запрещать ../, хранить файлы вне веб-корня.

Unrestricted File Upload

high

Загрузка файлов без проверки типа/содержимого/путей.

Чем опасно: Загрузка веб-шелла или вредоносного скрипта, выполнение кода на сервере.

Исправление: «Ограничим типы файлов и проверим содержимое перед сохранением.» Работы: проверять MIME, расширения, сохранять файлы вне веб-корня, сканировать на вирусы, задавать безопасные права.

Directory Listing

low

Сервер показывает список файлов в папке (index отключён).

Чем опасно: Утечка файлов, бэкапов и конфигов — полезная информация для атаки.

Исправление: «Отключим показ содержимого папок.» Работы: отключить directory listing на сервере (autoindex off), закрыть доступ к служебным папкам.

Information Leakage / Debug Info

medium

Отображаются стеки ошибок, версии ПО, отладочные сообщения.

Чем опасно: Упрощает подбор атак, показывает уязвимые версии.

Исправление: «Отключим показа ошибок пользователю и скроем версии ПО.» Работы: вывод ошибок только в лог, не показывать стек-трейсы в UI, скрыть заголовки Server, X-Powered-By.

Weak / Missing TLS (HTTPS)

high

Сайт работает по HTTP или использует устаревшие/небезопасные настройки TLS.

Чем опасно: Перехват данных, MITM, утечка паролей и форм.

Исправление: «Переведём сайт на HTTPS с современными настройками TLS.» Работы: включить TLS 1.2/1.3, настроить современные cipher-suites, обеспечить автоматическое обновление сертификатов.

Cookie Theft / Improper Session Handling

high

Куки не помечены Secure/HttpOnly/SameSite или сессии слишком длительны.

Чем опасно: Кража сессий — вход в аккаунты без пароля.

Исправление: «Нужно помечать cookie и ускорить истечение сессий.» Работы: установить Secure, HttpOnly, SameSite, уменьшить время жизни сессии, инвалидировать сессии при логауте.

Brute Force / Credential Stuffing

high

Отсутствует защита от большого числа попыток входа, используются утекшие пароли.

Чем опасно: Массовый подбор паролей, взлом аккаунтов.

Исправление: «Введём ограничения повторных попыток и капчу.» Работы: rate-limit логины, account lockout, мониторинг попыток и CAPTCHA, 2FA.

Account Enumeration

medium

Сайт выдаёт разные ответы для существующих/несуществующих логинов.

Чем опасно: Злоумышленник собирает живые логины для атак.

Исправление: «Уберём различие в сообщениях об ошибках при логине.» Работы: единообразные ошибки при логине/регистрации, не раскрывать информацию о наличии аккаунта.

Privilege Escalation

high

Через баги пользователь получает более высокий уровень прав.

Чем опасно: Обычный пользователь может стать админом и получить полный контроль.

Исправление: «Надо проверить привилегии и роли по всем эндпоинтам.» Работы: проверки прав на уровне сервера, тесты на эскалацию, ограничение административных функций.

Business Logic Flaws

medium

Ошибки в бизнес-логике: обход платных функций, неверные расчёты лимитов.

Чем опасно: Финансовые потери, обход оплаты, нарушение процессов.

Исправление: «Проанализируем сценарии и закроем обходы логики.» Работы: ревью бизнес-процессов, добавить проверки на сервере, протестировать краевые сценарии.

Race Conditions / TOCTOU

medium

Одновременные операции приводят к некорректным результатам.

Чем опасно: Дублирование операций, обход лимитов, финансовые потери.

Исправление: «Нужно синхронизировать действия и блокировать гонки.» Работы: блокировки транзакций, atomic operations, проверка состояния перед изменением.

CORS Misconfiguration

medium

CORS настроен слишком широко — разрешает любые домены.

Чем опасно: Сторонние сайты могут обращаться к API и вытягивать данные от имени пользователя.

Исправление: «Ограничим CORS только доверенными доменами.» Работы: настроить Access-Control-Allow-Origin строго по белому списку, не использовать "*" для защищённых эндпоинтов.

API-Specific Issues

high

API не проверяет права, возвращает лишние данные или плохо лимитирует.

Чем опасно: Утечка данных, массовые запросы, изменение записей через API.

Исправление: «Проверим авторизацию и лимиты в API.» Работы: валидировать права, внедрить pagination, rate-limiting, field-level authorization.

Mass Assignment / Overposting

medium

API применяет все поля из запроса без фильтрации.

Чем опасно: Пользователь изменяет поля, которые не должен иметь доступ (роль, цена).

Исправление: «Фильтруем входящие поля и назначаем только разрешённые.» Работы: white-list полей для записи, использовать DTO/схемы валидации.

Token in URL / Sensitive Data in GET

medium

Токены и пароли передаются в URL и логируются.

Чем опасно: Токены сохраняются в логах, могут утечь, дающим доступ к аккаунтам.

Исправление: «Не передавать токены в URL — использовать заголовки или тело запроса.» Работы: передавать секреты по заголовкам (Authorization), не логировать URL с токенами.

Exposed Admin Panels / Backdoor Pages

high

Админка доступна по очевидному URL или без защиты.

Чем опасно: Прямой доступ злоумышленника в панель управления, полный контроль.

Исправление: «Ограничим доступ к админке по IP или введём 2FA.» Работы: защитить админ-панель IP-фильтром, VPN/2FA, сложные пароли, отдельная сеть.

Backup Files / Old Files Accessible (.bak, .zip, .sql)

high

В корне оставлены бэкапы или старые файлы.

Чем опасно: В бэкапах часто пароли, конфиги, дампы БД — полный набор для взлома.

Исправление: «Перенесём бэкапы из веб-корня и удалим старые файлы.» Работы: хранить бэкапы вне веб-корня, шифровать, настроить доступ, удалить старые резервные файлы.

Insecure Default Configurations

medium

Плагин/приложение используется с дефолтными настройками и паролями.

Чем опасно: Лёгкий доступ к функциям и данным.

Исправление: «Поменяем дефолтные пароли и пересмотрим настройки.» Работы: смена дефолтных паролей, отключение ненужных функций, hardening конфигурации.

LDAP/Authentication Injection

high

Ввод пользователя попадает в LDAP/директорию без фильтрации.

Чем опасно: Обход проверки аутентификации, выдача прав.

Исправление: «Проверим sanitization перед запросами в LDAP.» Работы: параметризовать LDAP-запросы, валидировать ввод, минимизировать привилегии доступа к LDAP.

CRLF / Header Injection

medium

Ввод влияет на HTTP-заголовки (переносы строк), формируя дополнительные заголовки.

Чем опасно: Подмена заголовков, обход фильтров, фишинг.

Исправление: «Фильтровать ввод при формировании заголовков и ответов.» Работы: удалять CRLF-символы из пользовательского ввода, не вставлять необработанные строки в заголовки.

Email Injection

medium

Пользовательский ввод попадает в поле отправки почты без проверки.

Чем опасно: Сайт может использоваться для рассылки спама, утечки адресов.

Исправление: «Проверка и валидация полей письма обязательна.» Работы: валидировать адреса, не включать пользовательский ввод в заголовки письма, лимитировать отправки.

Unvalidated Redirects and Forwards

medium

Переадресация внутри приложения на внешние адреса без проверки.

Чем опасно: Фишинг, обман пользователей.

Исправление: «Ограничить редиректы на заранее разрешённые домены.» Работы: whitelist для redirect, не перенаправлять на сырой пользовательский URL.

Weak Password Policies

medium

Нет требований к сложности пароля и смене.

Чем опасно: Легче подбор паролей, рост числа взломанных аккаунтов.

Исправление: «Внедрим минимальную сложность паролей и реком. смену пароля.» Работы: политика паролей (min length, complexity), проверка на утечки паролей (HaveIBeenPwned), принудительное обновление при компромете.

Insufficient Rate Limiting

medium

Отсутствуют ограничения скорости на важные операции.

Чем опасно: Брутфорс, DoS, автоматические мошеннические действия.

Исправление: «Добавим лимиты запросов на ключевые эндпоинты.» Работы: rate-limiting на уровне приложения/веб-сервера/API-gateway, IP-throttling, CAPTCHA.

Denial of Service (DoS) vulnerabilities

high

Ресурсоёмкие операции доступны без защиты.

Чем опасно: Загружая сайт, злоумышленник может вывести сервис из строя.

Исправление: «Ограничим ресурсоёмкие операции и подключим защиту от DDoS.» Работы: rate-limiting, защита на уровне инфраструктуры (WAF, CDN), оптимизация тяжёлых запросов.

XML External Entity (XXE)

high

XML-парсер обрабатывает внешние сущности, которые могут ссылаться на локальные ресурсы.

Чем опасно: Чтение локальных файлов, SSRF-подобные атаки, утечка данных.

Исправление: «Отключим внешний доступ для XML-парсеров или переключим на безопасный парсер.» Работы: отключить external entity processing, использовать безопасные библиотеки/настройки XML-парсера.

Insecure Mobile/Web Integration

medium

Клиентская часть (мобильное приложение) небезопасно общается с API.

Чем опасно: Доступ к аккаунтам и данным через уязвимый клиент.

Исправление: «Проверим обмен данными с мобильными приложениями и защитим API.» Работы: использовать защищённые токены, SSL pinning (при необходимости), валидировать запросы и лимитировать доступ.

Unprotected File Download / Insecure File Access

medium

Файлы выдаются без проверки прав.

Чем опасно: Скачивание платного или приватного контента без оплаты.

Исправление: «Проверим права перед отдачей файла.» Работы: проверять авторизацию перед любой отдачей файла, отдавать по временным подписи/токенам.

Supply Chain / Third-party compromise

high

Внешняя библиотека или плагин содержит вредоносный код.

Чем опасно: Массовое заражение сайтов через общий компонент.

Исправление: «Аудит сторонних компонентов и обновление — срочно.» Работы: проверка и аудиты зависимостей, pinning версий, мониторинг репозиториев поставщиков.

Misconfigured CDN

medium

CDN отдаёт старые, неверные или незашифрованные версии страниц.

Чем опасно: Кэширование чувствительных страниц, подмена контента, утечка данных.

Исправление: «Проверим правила кэширования и HTTPS на CDN.» Работы: настроить cache-control, убедиться в SSL между CDN и origin, исключить приватные страницы из кэша.

Insufficient Data Retention / Improper Deletion

low

Данные хранятся дольше нужно или удаляются неправильно.

Чем опасно: Увеличение объёма утечки при компрометации, нарушение законов о защите данных.

Исправление: «Пересмотрим политику хранения данных.» Работы: установить политики retention, безопасное удаление, архивирование и шифрование.

Unvalidated Input (general)

high

Любой ввод не проверяется на тип/формат/длину.

Чем опасно: Позволяет осуществлять различные инъекции и обходы фильтров.

Исправление: «Валидировать и фильтровать всё, что приходит от пользователя.» Работы: внедрить валидацию/санитизацию по схемам, проверять длину и типы данных.

Insufficient File Permissions on Server

high

Файлы и папки имеют слишком широкие права (например 777).

Чем опасно: Возможность перезаписи, загрузки шеллов, разрушение сайта.

Исправление: «Ограничим права на файлы и каталоги.» Работы: настроить минимально необходимые права, пользователи-процессы с ограниченными правами, запрет записи в web-root.

Exposed Credentials in Code/Repo

high

Пароли и ключи хранятся в репозитории или файлах проекта.

Чем опасно: Прямой доступ к БД, облачным аккаунтам и другим ресурсам.

Исправление: «Удалим секреты из кода и поменяем ключи.» Работы: вынести секреты в секретный менеджер, rotate ключи, удалить из репозитория и проверить историю (git filter-repo).

Account Recovery / Forgot Password flaws

medium

Процедуры восстановления аккаунта уязвимы или предсказуемы.

Чем опасно: Захват аккаунтов через уязвимый механизм восстановления.

Исправление: «Укрепим процедуру восстановления и проверку личности.» Работы: использовать одноразовые токены, срок действия короткий, дополнительные проверки, логирование попыток.

Insecure Use of OAuth / SSO

medium

Неправильная реализация OAuth/SSO (злоупотребление redirect_uri и пр.).

Чем опасно: Подмена аккаунтов, утечка токенов, доступ к чужим сервисам.

Исправление: «Проверим корректность callback и безопасности OAuth.» Работы: whitelist redirect_uri, проверять state, не передавать секреты в URL, обновить библиотеки.

Improper Cryptography

high

Используются устаревшие или самодельные алгоритмы шифрования.

Чем опасно: Данные легко расшифровываются при утечке, пароли плохо защищены.

Исправление: «Поменяем устаревшие алгоритмы и используем проверенные библиотеки.» Работы: использовать стандарты (TLS, AES-256, bcrypt/argon2), не изобретать своё шифрование.

Third-party Widgets / Trackers leaking data

medium

Внешние скрипты (чат, аналитика) собирают и передают данные.

Чем опасно: Утечка пользовательских данных, риск подмены контента третьими сторонами.

Исправление: «Ограничим сторонние виджеты и проверим их политику приватности.» Работы: минимизировать сторонние скрипты, загружать с доверенных источников, CSP, аудит поставщиков.

Misconfigured DNS / CAA records

medium

Неправильно настроенные записи домена/сертификатов.

Чем опасно: Риск подмены сертификатов, проблемы с доставкой почты (SPF/DKIM).

Исправление: «Проверим DNS и записи сертификатов.» Работы: настроить правильные SPF/DKIM/DMARC, CAA, не допускать wildcard без контроля.

Lack of Privacy Controls / GDPR issues

medium

Нет механизмов согласия и удаления персональных данных.

Чем опасно: Юридические риски, штрафы, жалобы клиентов.

Исправление: «Внедрим правила сбора согласий и удаления данных.» Работы: реализовать consent management, политики удаления и экспорт данных по запросу.

Token Replay / Reuse

medium

Токены повторно используются или не отзываются.

Чем опасно: Повторный несанкционированный доступ при утечке токенов.

Исправление: «Добавим одноразовые токены и механизм отзыва.» Работы: установить срок жизни токенов, реализовать blacklist/revoke и refresh tokens с коротким сроком.

Weak Session Management

high

Сессии не инвалидируются при логауте/смене пароля.

Чем опасно: Сессии могут быть использованы повторно для доступа к аккаунтам.

Исправление: «Инвалидируем сессии при важных событиях.» Работы: хранить сессии на сервере, invalidate on logout/password change, ограничить время жизни.

Client-Side Logic Exposure

medium

Чувствительная логика и секреты находятся в JS на клиенте.

Чем опасно: Злоумышленник видит алгоритмы и может обходить проверки.

Исправление: «Перенесём логику на сервер и скроем секреты.» Работы: убрать секреты из JS, проверки безопасности выполнять на сервере, минимизировать чувствительную логику на клиенте.

Improper Input Validation for Files

high

Нет проверки расширения/типа/контента загружаемых файлов.

Чем опасно: Загрузка вредоносных файлов и запуск кода на сервере.

Исправление: «Проверим тип и содержимое файлов перед сохранением.» Работы: проверять MIME и содержимое, ограничить расширения, сохранять вне web-root, сканировать файлы на вирусы.

Получить консультацию