Центр безопасности (Valkyrie Security Center)
Единый раздел, где объяснено, какие угрозы существуют в веб-среде, как их распознать и устранить. Здесь вы найдёте список уязвимостей, их описание на человеческом языке и рекомендации, как защитить ваш проект. Этот центр создан для клиентов и партнёров Valkyrie, чтобы повысить прозрачность и доверие к процессу диагностики.
SQL Injection
Ввод пользователя попадает в SQL-запрос без корректной фильтрации.
Чем опасно: Утечка/удаление/изменение данных в БД, получение доступа к конфиденциальным данным.
Исправление: Сказать клиенту: «Нужно санитизировать запросы и использовать подготовленные выражения (prepared statements).» Работы: внедрить parameterized queries (PDO/ORM), валидировать ввод, провести ревизию запросов.
Cross-Site Scripting (XSS)
Вредоносный скрипт вставляется и выполняется в браузере других пользователей.
Чем опасно: Кража сессий, подмена страниц, фишинг, выполнение действий от имени пользователя.
Исправление: «Необходимо экранировать ввод и задать CSP.» Работы: экранировать вывод, ввод валидировать, включить Content-Security-Policy, пометить cookie HttpOnly.
Cross-Site Request Forgery (CSRF)
Браузер пользователя отправляет действия на сайт без его явного согласия.
Чем опасно: Нежелательные действия от имени пользователя (смена пароля, перевод и т.п.).
Исправление: «Нужно добавить токены защиты запросов (CSRF tokens).» Работы: реализовать CSRF-токены на формах, проверять Referer / SameSite cookie.
Broken Authentication
Слабые механизмы входа/сессий: предсказуемые пароли, нет блокировок.
Чем опасно: Угон аккаунтов, массовые компрометации пользователей.
Исправление: «Надо усилить вход и сессии: блокировки и 2FA.» Работы: ввести сложные пароли, rate-limit, account lockout, двухфакторную аутентификацию, корректное хранение паролей (bcrypt/argon2).
Broken Access Control (IDOR)
Пользователь получает доступ к данным/функциям, к которым не должен иметь доступ.
Чем опасно: Чтение/изменение чужих данных, повышение привилегий.
Исправление: «Проверим права на каждом запросе и исправим проверки.» Работы: везде проверять авторизацию на уровне сервера, не полагаться на ID в URL; реализовать ACL/role checks.
Security Misconfiguration
Неправильные настройки сервера/приложения (отладка, лишние сервисы, дефолтные пароли).
Чем опасно: Упрощает доступ злоумышленника к служебной информации и инструментам.
Исправление: «Нужно убрать отладочные страницы и проверить конфигурацию сервера.» Работы: отключить режимы debug, закрыть служебные порты, сменить дефолтные пароли, актуализировать конфиги.
Sensitive Data Exposure
Чувствительные данные хранятся или передаются без защиты.
Чем опасно: Кража персональных/финансовых данных, юридические и репутационные последствия.
Исправление: «Шифрование и аккуратное хранение данных обязательны.» Работы: шифровать данные в покое, использовать TLS везде, не логировать секреты, ограничить доступ к данным.
Missing Security Headers
Отсутствуют защитные 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)
Нет ограничений на загрузку скриптов и других ресурсов.
Чем опасно: Проще внедрить сторонние скрипты и выполнить XSS.
Исправление: «Включим CSP в режиме отчётов, чтобы отладить потом включить блокировку.» Работы: внедрить CSP (report-only → enforce), использовать nonce/hashes и минимизировать сторонние скрипты.
Clickjacking / X-Frame
Страницу можно встраивать в iframe чужого сайта и обманом заставить пользователя нажать.
Чем опасно: Пользователь может непреднамеренно выполнить критичные действия.
Исправление: «Запретим встраивание сайта в iframe.» Работы: установить X-Frame-Options: DENY или CSP frame-ancestors 'none'.
Insecure Direct Object References (IDOR)
Объекты доступны по предсказуемым ID без проверки прав.
Чем опасно: Просмотр/изменение чужих файлов, заказов, данных.
Исправление: «Проверим права доступа и заменим предсказуемые ID на безопасные ссылки.» Работы: проверять авторизацию при доступе к объектам, использовать непредсказуемые идентификаторы (UUID), ACL.
Insecure Deserialization
Приложение десериализует данные от ненадёжного источника без проверки.
Чем опасно: Выполнение вредных действий внутри приложения, возможен удалённый запуск кода.
Исправление: «Отключим десериализацию непроверенных данных и проверим форматы.» Работы: избегать десериализации данных из внешних источников; использовать безопасные форматы (JSON) и валидировать содержимое.
Using Components with Known Vulnerabilities
Библиотеки/плагины с известными уязвимостями используются в проекте.
Чем опасно: Через компонент можно получить полный доступ к сайту или утечь данные.
Исправление: «Обновим библиотеки и проведём аудит зависимостей.» Работы: регулярно обновлять зависимости, мониторить CVE, использовать SCA-инструменты (dependabot, etc.).
Insufficient Logging & Monitoring
Нет нормального логирования и сигналов об инцидентах.
Чем опасно: Взломы остаются незамеченными, сложнее восстановить и реагировать.
Исправление: «Нужно настроить логирование и оповещения об аномалиях.» Работы: добавить централизованное логирование, алерты при подозрительной активности, сохранять логи достаточно долго для расследования.
Server-Side Request Forgery (SSRF)
Сервер делает внешние запросы по пользовательским URL.
Чем опасно: Доступ к внутренним ресурсам, чтение метаданных облака, обход firewall.
Исправление: «Запретим серверу делать произвольные запросы на внешние адреса.» Работы: валидировать/фильтровать URL, разрешать только белый список доменов, изолировать среду выполнения запросов.
Open Redirect
Сайт перенаправляет пользователя на произвольный URL из параметра.
Чем опасно: Используется в фишинге для подмены доверенных ссылок.
Исправление: «Ограничим перенаправления только на доверенные домены.» Работы: использовать список разрешённых redirect_uri, не принимать произвольные URL из параметров.
Path Traversal
Через URL можно обратиться к файлам за пределами корня сайта (../).
Чем опасно: Чтение конфигов, бэкапов, паролей и другой служебной информации.
Исправление: «Ограничим доступ к файловой системе и проверим пути.» Работы: нормализовать и валидировать пути, запрещать ../, хранить файлы вне веб-корня.
Unrestricted File Upload
Загрузка файлов без проверки типа/содержимого/путей.
Чем опасно: Загрузка веб-шелла или вредоносного скрипта, выполнение кода на сервере.
Исправление: «Ограничим типы файлов и проверим содержимое перед сохранением.» Работы: проверять MIME, расширения, сохранять файлы вне веб-корня, сканировать на вирусы, задавать безопасные права.
Directory Listing
Сервер показывает список файлов в папке (index отключён).
Чем опасно: Утечка файлов, бэкапов и конфигов — полезная информация для атаки.
Исправление: «Отключим показ содержимого папок.» Работы: отключить directory listing на сервере (autoindex off), закрыть доступ к служебным папкам.
Information Leakage / Debug Info
Отображаются стеки ошибок, версии ПО, отладочные сообщения.
Чем опасно: Упрощает подбор атак, показывает уязвимые версии.
Исправление: «Отключим показа ошибок пользователю и скроем версии ПО.» Работы: вывод ошибок только в лог, не показывать стек-трейсы в UI, скрыть заголовки Server, X-Powered-By.
Weak / Missing TLS (HTTPS)
Сайт работает по HTTP или использует устаревшие/небезопасные настройки TLS.
Чем опасно: Перехват данных, MITM, утечка паролей и форм.
Исправление: «Переведём сайт на HTTPS с современными настройками TLS.» Работы: включить TLS 1.2/1.3, настроить современные cipher-suites, обеспечить автоматическое обновление сертификатов.
Cookie Theft / Improper Session Handling
Куки не помечены Secure/HttpOnly/SameSite или сессии слишком длительны.
Чем опасно: Кража сессий — вход в аккаунты без пароля.
Исправление: «Нужно помечать cookie и ускорить истечение сессий.» Работы: установить Secure, HttpOnly, SameSite, уменьшить время жизни сессии, инвалидировать сессии при логауте.
Brute Force / Credential Stuffing
Отсутствует защита от большого числа попыток входа, используются утекшие пароли.
Чем опасно: Массовый подбор паролей, взлом аккаунтов.
Исправление: «Введём ограничения повторных попыток и капчу.» Работы: rate-limit логины, account lockout, мониторинг попыток и CAPTCHA, 2FA.
Account Enumeration
Сайт выдаёт разные ответы для существующих/несуществующих логинов.
Чем опасно: Злоумышленник собирает живые логины для атак.
Исправление: «Уберём различие в сообщениях об ошибках при логине.» Работы: единообразные ошибки при логине/регистрации, не раскрывать информацию о наличии аккаунта.
Privilege Escalation
Через баги пользователь получает более высокий уровень прав.
Чем опасно: Обычный пользователь может стать админом и получить полный контроль.
Исправление: «Надо проверить привилегии и роли по всем эндпоинтам.» Работы: проверки прав на уровне сервера, тесты на эскалацию, ограничение административных функций.
Business Logic Flaws
Ошибки в бизнес-логике: обход платных функций, неверные расчёты лимитов.
Чем опасно: Финансовые потери, обход оплаты, нарушение процессов.
Исправление: «Проанализируем сценарии и закроем обходы логики.» Работы: ревью бизнес-процессов, добавить проверки на сервере, протестировать краевые сценарии.
Race Conditions / TOCTOU
Одновременные операции приводят к некорректным результатам.
Чем опасно: Дублирование операций, обход лимитов, финансовые потери.
Исправление: «Нужно синхронизировать действия и блокировать гонки.» Работы: блокировки транзакций, atomic operations, проверка состояния перед изменением.
CORS Misconfiguration
CORS настроен слишком широко — разрешает любые домены.
Чем опасно: Сторонние сайты могут обращаться к API и вытягивать данные от имени пользователя.
Исправление: «Ограничим CORS только доверенными доменами.» Работы: настроить Access-Control-Allow-Origin строго по белому списку, не использовать "*" для защищённых эндпоинтов.
API-Specific Issues
API не проверяет права, возвращает лишние данные или плохо лимитирует.
Чем опасно: Утечка данных, массовые запросы, изменение записей через API.
Исправление: «Проверим авторизацию и лимиты в API.» Работы: валидировать права, внедрить pagination, rate-limiting, field-level authorization.
Mass Assignment / Overposting
API применяет все поля из запроса без фильтрации.
Чем опасно: Пользователь изменяет поля, которые не должен иметь доступ (роль, цена).
Исправление: «Фильтруем входящие поля и назначаем только разрешённые.» Работы: white-list полей для записи, использовать DTO/схемы валидации.
Token in URL / Sensitive Data in GET
Токены и пароли передаются в URL и логируются.
Чем опасно: Токены сохраняются в логах, могут утечь, дающим доступ к аккаунтам.
Исправление: «Не передавать токены в URL — использовать заголовки или тело запроса.» Работы: передавать секреты по заголовкам (Authorization), не логировать URL с токенами.
Exposed Admin Panels / Backdoor Pages
Админка доступна по очевидному URL или без защиты.
Чем опасно: Прямой доступ злоумышленника в панель управления, полный контроль.
Исправление: «Ограничим доступ к админке по IP или введём 2FA.» Работы: защитить админ-панель IP-фильтром, VPN/2FA, сложные пароли, отдельная сеть.
Backup Files / Old Files Accessible (.bak, .zip, .sql)
В корне оставлены бэкапы или старые файлы.
Чем опасно: В бэкапах часто пароли, конфиги, дампы БД — полный набор для взлома.
Исправление: «Перенесём бэкапы из веб-корня и удалим старые файлы.» Работы: хранить бэкапы вне веб-корня, шифровать, настроить доступ, удалить старые резервные файлы.
Insecure Default Configurations
Плагин/приложение используется с дефолтными настройками и паролями.
Чем опасно: Лёгкий доступ к функциям и данным.
Исправление: «Поменяем дефолтные пароли и пересмотрим настройки.» Работы: смена дефолтных паролей, отключение ненужных функций, hardening конфигурации.
LDAP/Authentication Injection
Ввод пользователя попадает в LDAP/директорию без фильтрации.
Чем опасно: Обход проверки аутентификации, выдача прав.
Исправление: «Проверим sanitization перед запросами в LDAP.» Работы: параметризовать LDAP-запросы, валидировать ввод, минимизировать привилегии доступа к LDAP.
CRLF / Header Injection
Ввод влияет на HTTP-заголовки (переносы строк), формируя дополнительные заголовки.
Чем опасно: Подмена заголовков, обход фильтров, фишинг.
Исправление: «Фильтровать ввод при формировании заголовков и ответов.» Работы: удалять CRLF-символы из пользовательского ввода, не вставлять необработанные строки в заголовки.
Email Injection
Пользовательский ввод попадает в поле отправки почты без проверки.
Чем опасно: Сайт может использоваться для рассылки спама, утечки адресов.
Исправление: «Проверка и валидация полей письма обязательна.» Работы: валидировать адреса, не включать пользовательский ввод в заголовки письма, лимитировать отправки.
Unvalidated Redirects and Forwards
Переадресация внутри приложения на внешние адреса без проверки.
Чем опасно: Фишинг, обман пользователей.
Исправление: «Ограничить редиректы на заранее разрешённые домены.» Работы: whitelist для redirect, не перенаправлять на сырой пользовательский URL.
Weak Password Policies
Нет требований к сложности пароля и смене.
Чем опасно: Легче подбор паролей, рост числа взломанных аккаунтов.
Исправление: «Внедрим минимальную сложность паролей и реком. смену пароля.» Работы: политика паролей (min length, complexity), проверка на утечки паролей (HaveIBeenPwned), принудительное обновление при компромете.
Insufficient Rate Limiting
Отсутствуют ограничения скорости на важные операции.
Чем опасно: Брутфорс, DoS, автоматические мошеннические действия.
Исправление: «Добавим лимиты запросов на ключевые эндпоинты.» Работы: rate-limiting на уровне приложения/веб-сервера/API-gateway, IP-throttling, CAPTCHA.
Denial of Service (DoS) vulnerabilities
Ресурсоёмкие операции доступны без защиты.
Чем опасно: Загружая сайт, злоумышленник может вывести сервис из строя.
Исправление: «Ограничим ресурсоёмкие операции и подключим защиту от DDoS.» Работы: rate-limiting, защита на уровне инфраструктуры (WAF, CDN), оптимизация тяжёлых запросов.
XML External Entity (XXE)
XML-парсер обрабатывает внешние сущности, которые могут ссылаться на локальные ресурсы.
Чем опасно: Чтение локальных файлов, SSRF-подобные атаки, утечка данных.
Исправление: «Отключим внешний доступ для XML-парсеров или переключим на безопасный парсер.» Работы: отключить external entity processing, использовать безопасные библиотеки/настройки XML-парсера.
Insecure Mobile/Web Integration
Клиентская часть (мобильное приложение) небезопасно общается с API.
Чем опасно: Доступ к аккаунтам и данным через уязвимый клиент.
Исправление: «Проверим обмен данными с мобильными приложениями и защитим API.» Работы: использовать защищённые токены, SSL pinning (при необходимости), валидировать запросы и лимитировать доступ.
Unprotected File Download / Insecure File Access
Файлы выдаются без проверки прав.
Чем опасно: Скачивание платного или приватного контента без оплаты.
Исправление: «Проверим права перед отдачей файла.» Работы: проверять авторизацию перед любой отдачей файла, отдавать по временным подписи/токенам.
Supply Chain / Third-party compromise
Внешняя библиотека или плагин содержит вредоносный код.
Чем опасно: Массовое заражение сайтов через общий компонент.
Исправление: «Аудит сторонних компонентов и обновление — срочно.» Работы: проверка и аудиты зависимостей, pinning версий, мониторинг репозиториев поставщиков.
Misconfigured CDN
CDN отдаёт старые, неверные или незашифрованные версии страниц.
Чем опасно: Кэширование чувствительных страниц, подмена контента, утечка данных.
Исправление: «Проверим правила кэширования и HTTPS на CDN.» Работы: настроить cache-control, убедиться в SSL между CDN и origin, исключить приватные страницы из кэша.
Insufficient Data Retention / Improper Deletion
Данные хранятся дольше нужно или удаляются неправильно.
Чем опасно: Увеличение объёма утечки при компрометации, нарушение законов о защите данных.
Исправление: «Пересмотрим политику хранения данных.» Работы: установить политики retention, безопасное удаление, архивирование и шифрование.
Unvalidated Input (general)
Любой ввод не проверяется на тип/формат/длину.
Чем опасно: Позволяет осуществлять различные инъекции и обходы фильтров.
Исправление: «Валидировать и фильтровать всё, что приходит от пользователя.» Работы: внедрить валидацию/санитизацию по схемам, проверять длину и типы данных.
Insufficient File Permissions on Server
Файлы и папки имеют слишком широкие права (например 777).
Чем опасно: Возможность перезаписи, загрузки шеллов, разрушение сайта.
Исправление: «Ограничим права на файлы и каталоги.» Работы: настроить минимально необходимые права, пользователи-процессы с ограниченными правами, запрет записи в web-root.
Exposed Credentials in Code/Repo
Пароли и ключи хранятся в репозитории или файлах проекта.
Чем опасно: Прямой доступ к БД, облачным аккаунтам и другим ресурсам.
Исправление: «Удалим секреты из кода и поменяем ключи.» Работы: вынести секреты в секретный менеджер, rotate ключи, удалить из репозитория и проверить историю (git filter-repo).
Account Recovery / Forgot Password flaws
Процедуры восстановления аккаунта уязвимы или предсказуемы.
Чем опасно: Захват аккаунтов через уязвимый механизм восстановления.
Исправление: «Укрепим процедуру восстановления и проверку личности.» Работы: использовать одноразовые токены, срок действия короткий, дополнительные проверки, логирование попыток.
Insecure Use of OAuth / SSO
Неправильная реализация OAuth/SSO (злоупотребление redirect_uri и пр.).
Чем опасно: Подмена аккаунтов, утечка токенов, доступ к чужим сервисам.
Исправление: «Проверим корректность callback и безопасности OAuth.» Работы: whitelist redirect_uri, проверять state, не передавать секреты в URL, обновить библиотеки.
Improper Cryptography
Используются устаревшие или самодельные алгоритмы шифрования.
Чем опасно: Данные легко расшифровываются при утечке, пароли плохо защищены.
Исправление: «Поменяем устаревшие алгоритмы и используем проверенные библиотеки.» Работы: использовать стандарты (TLS, AES-256, bcrypt/argon2), не изобретать своё шифрование.
Third-party Widgets / Trackers leaking data
Внешние скрипты (чат, аналитика) собирают и передают данные.
Чем опасно: Утечка пользовательских данных, риск подмены контента третьими сторонами.
Исправление: «Ограничим сторонние виджеты и проверим их политику приватности.» Работы: минимизировать сторонние скрипты, загружать с доверенных источников, CSP, аудит поставщиков.
Misconfigured DNS / CAA records
Неправильно настроенные записи домена/сертификатов.
Чем опасно: Риск подмены сертификатов, проблемы с доставкой почты (SPF/DKIM).
Исправление: «Проверим DNS и записи сертификатов.» Работы: настроить правильные SPF/DKIM/DMARC, CAA, не допускать wildcard без контроля.
Lack of Privacy Controls / GDPR issues
Нет механизмов согласия и удаления персональных данных.
Чем опасно: Юридические риски, штрафы, жалобы клиентов.
Исправление: «Внедрим правила сбора согласий и удаления данных.» Работы: реализовать consent management, политики удаления и экспорт данных по запросу.
Token Replay / Reuse
Токены повторно используются или не отзываются.
Чем опасно: Повторный несанкционированный доступ при утечке токенов.
Исправление: «Добавим одноразовые токены и механизм отзыва.» Работы: установить срок жизни токенов, реализовать blacklist/revoke и refresh tokens с коротким сроком.
Weak Session Management
Сессии не инвалидируются при логауте/смене пароля.
Чем опасно: Сессии могут быть использованы повторно для доступа к аккаунтам.
Исправление: «Инвалидируем сессии при важных событиях.» Работы: хранить сессии на сервере, invalidate on logout/password change, ограничить время жизни.
Client-Side Logic Exposure
Чувствительная логика и секреты находятся в JS на клиенте.
Чем опасно: Злоумышленник видит алгоритмы и может обходить проверки.
Исправление: «Перенесём логику на сервер и скроем секреты.» Работы: убрать секреты из JS, проверки безопасности выполнять на сервере, минимизировать чувствительную логику на клиенте.
Improper Input Validation for Files
Нет проверки расширения/типа/контента загружаемых файлов.
Чем опасно: Загрузка вредоносных файлов и запуск кода на сервере.
Исправление: «Проверим тип и содержимое файлов перед сохранением.» Работы: проверять MIME и содержимое, ограничить расширения, сохранять вне web-root, сканировать файлы на вирусы.