Написать нам в Telegram

OWASP Top 10: главные уязвимости веб-приложений и защита от них

Безопасность
19 сентября 2026 г.
Фото Максим Козлов
Максим КозловРуководитель отдела разработки

OWASP Top 10 — список десяти самых критичных категорий рисков безопасности веб-приложений от некоммерческого фонда OWASP. Для владельца бизнеса это «карта угроз»: по ней понятно, о чём спрашивать подрядчика, что требовать в договоре и что проверять при аудите сайта, интернет-магазина или личного кабинета.

Что такое OWASP и зачем бизнесу его Top 10

OWASP (Open Worldwide Application Security Project) — международный некоммерческий фонд, основанный в 2001 году; его проекты и инструменты открыты и бесплатны. Top 10 — самый известный из них: первая версия вышла в 2003 году, редакция 2025 года — восьмая по счёту. Восемь категорий из десяти отбираются по данным тестирования приложений, которые передают компании и исследователи, а две — по опросу практиков: под риски, которые плохо ловятся автоматикой, но реально бьют по бизнесу.

OWASP Top 10 — документ осведомлённости (awareness), а не стандарт проверки. Он объясняет, где чаще всего ломаются веб-приложения. Проверяемые требования у OWASP собраны в отдельном стандарте — ASVS.

Актуальный список OWASP Top 10:2025

Релиз-кандидат новой редакции OWASP представил в ноябре 2025 года, пометку «RC» с неё сняли на рубеже 2025–2026 годов. В анализ вошли 589 типов слабостей (CWE) — против почти 400 в редакции 2021 года. Порядок категорий по первоисточнику:

Категория (оригинал)Суть по-русски
A01Broken Access ControlНарушение контроля доступа (включая SSRF)
A02Security MisconfigurationНебезопасная конфигурация
A03Software Supply Chain FailuresСбои в цепочке поставок ПО
A04Cryptographic FailuresКриптографические ошибки
A05InjectionИнъекции (SQL, XSS, команды ОС)
A06Insecure DesignНебезопасное проектирование
A07Authentication FailuresСбои аутентификации
A08Software or Data Integrity FailuresНарушение целостности ПО и данных
A09Security Logging & Alerting FailuresСбои журналирования и оповещения
A10Mishandling of Exceptional ConditionsНеправильная обработка исключительных ситуаций
В русскоязычной выдаче до сих пор встречаются статьи, где под заголовком «OWASP Top 10 2025» приведён список 2021 года с SSRF на десятом месте. Сверяйтесь с owasp.org/Top10/2025/.

Что изменилось: OWASP Top 10 2021 и 2025

В новой редакции две новые категории и одно объединение. Главный сигнал для бизнеса: на второе место поднялись ошибки конфигурации, а устаревшие компоненты превратились в более широкий риск цепочки поставок — от npm-пакетов до сборочных серверов.

20212025Что произошло
A01 Broken Access ControlA01Осталась первой, в неё влит SSRF
A02 Cryptographic FailuresA04Опустилась на две позиции
A03 InjectionA05Опустилась на две позиции, XSS по-прежнему здесь
A04 Insecure DesignA06Опустилась на две позиции
A05 Security MisconfigurationA02Поднялась с пятого на второе место
A06 Vulnerable and Outdated ComponentsA03Расширена до Software Supply Chain Failures
A07 Identification and Authentication FailuresA07Место то же, название короче
A08 Software and Data Integrity FailuresA08Место то же, название уточнено
A09 Security Logging and Monitoring FailuresA09Акцент сместился с мониторинга на оповещение
A10 Server-Side Request ForgeryОбъединена с A01
A10Новая: Mishandling of Exceptional Conditions

Категории A01–A05: доступ, конфигурация, зависимости, криптография, инъекции

A01. Нарушение контроля доступа

Пользователь видит или меняет то, что ему не положено. По данным OWASP, хотя бы одна слабость из 40 CWE этой категории нашлась у 3,73% протестированных приложений. Пример: в личном кабинете на Laravel или Node.js заказ открывается по адресу /orders/10452 — меняем номер на 10453 и видим чужие ФИО и адрес доставки. Сюда же теперь относится SSRF — «загрузка картинки по ссылке» к внутренним адресам сервера.

Защита: запрет по умолчанию, проверка прав на сервере при каждом запросе к объекту (policies в Laravel, middleware в Express, группы и права в Битрикс), белый список доменов для загрузки по URL.

A02. Небезопасная конфигурация

Код нормальный, но развёрнут небрежно: APP_DEBUG=true в Laravel показывает трассировку и переменные окружения, из корня сайта доступны папка .git, бэкап base.sql.zip или phpinfo.php, Redis слушает внешний интерфейс без пароля, в админке Битрикс остались учётки бывших подрядчиков.

Защита: раздельные конфигурации для разработки и продакшена, закрытые служебные пути на уровне веб-сервера, заголовки безопасности (HSTS, CSP, X-Frame-Options).

A03. Сбои в цепочке поставок ПО

Уязвимость приходит не из вашего кода, а из плагинов, модулей, библиотек и сборочного конвейера. В данных категория встречается реже других, но у неё самые высокие средние оценки эксплуатируемости и ущерба. В сентябре 2025 года через фишинг сопровождающего были скомпрометированы популярные npm-пакеты, включая chalk и debug, — вредоносные версии попадали в сборки автоматически.

Защита: реестр зависимостей (SBOM), регулярные npm audit и composer audit, фиксированные версии в lock-файлах, отказ от «брошенных» плагинов, двухфакторная аутентификация у всех, кто публикует код.

A04. Криптографические ошибки

Данные передаются или хранятся без надёжной защиты: самописная CMS хранит пароли в MD5 без соли, ключи API платёжного сервиса лежат в публичном репозитории, часть форм работает по HTTP.

Защита: HTTPS с HSTS, хеширование паролей через bcrypt или Argon2 (Laravel использует bcrypt по умолчанию, WordPress перешёл на bcrypt в версии 6.8), секреты — в переменных окружения или хранилище секретов.

A05. Инъекции

Пользовательский ввод попадает в SQL-запрос, HTML или команду ОС и исполняется как код. Категория объединяет XSS (часто, но с умеренным ущербом) и SQL-инъекции (реже, но с максимальным ущербом): фильтр каталога собирает SQL строкой из параметров URL, отзыв с тегом <script> выполняется у каждого посетителя карточки товара. Механика подробно разобрана в статье что такое SQL-инъекция.

Защита: параметризованные запросы и ORM (Eloquent, D7 в Битрикс, Prisma), экранирование вывода по умолчанию, Content Security Policy, валидация ввода по белому списку.

Категории A06–A10: проектирование, вход, целостность, логи, сбои

A06. Небезопасное проектирование

Ошибка не в строке кода, а в логике, и сканеры её почти не находят. Цена приходит в корзину из скрытого поля формы и подменяется; промокод применяется повторно; отправка SMS-кода не ограничена, и злоумышленник за ночь «сжигает» бюджет на рассылку.

Защита: моделирование угроз на этапе проектирования, расчёт цен и скидок только на сервере, лимиты частоты запросов.

A07. Сбои аутентификации

Слабая проверка того, кто входит: /wp-login.php или /bitrix/admin/ без ограничения попыток и второго фактора, четырёхзначный SMS-код без лимита, активные старые сессии после смены пароля.

Защита: 2FA для всех администраторов, ограничение неудачных попыток, проверка паролей по базам утечек, инвалидация сессий.

A08. Нарушение целостности ПО и данных

Система доверяет коду или данным, не проверив подлинность: «нуленная» тема WordPress с бэкдором, скрипт виджета со стороннего CDN без проверки целостности, десериализация данных из cookie.

Защита: официальные дистрибутивы и лицензии, атрибут integrity (SRI) для внешних скриптов, подпись артефактов сборки, отказ от десериализации недоверенных данных.

A09. Сбои журналирования и оповещения

Атаку не видно: события не пишутся или их никто не читает. OWASP подчёркивает, что логи без оповещений почти бесполезны. Типичная картина — о взломе узнают через месяцы, когда Яндекс помечает сайт как опасный.

Защита: журналирование входов, смены прав и платёжных событий, хранение логов отдельно от сервера приложения, уведомления в Telegram или на почту.

A10. Неправильная обработка исключительных ситуаций

Новая категория 2025 года (24 CWE): при сбое система показывает лишнее, падает или «открывается» (fail open). Платёжный шлюз не ответил, обработчик поймал исключение — и заказ всё равно отмечен оплаченным; необработанный отказ промиса роняет Node.js-процесс до ручного перезапуска.

Защита: принцип «при ошибке — запретить» (fail closed), централизованная обработка исключений, нейтральные сообщения пользователю, откат транзакций, тесты на отказ внешних сервисов.

Быстрый тест для подрядчика: спросите, что произойдёт с заказом, если платёжный сервис вернёт ошибку или не ответит за 30 секунд. Внятный ответ о статусах и откате — признак зрелой команды.

Другие проекты OWASP: ASVS, API Security, LLM Top 10

  • ASVS (Application Security Verification Standard) — проверяемые требования на трёх уровнях: L1 — базовый минимум, L2 — для большинства приложений с персональными данными и платежами, L3 — для критичных систем. Актуальная версия — 5.0, вышла в мае 2025 года.
  • API Security Top 10 — рейтинг рисков API, актуальная редакция 2023 года. Важен для мобильных приложений, SPA и интеграций с 1С.
  • Top 10 for LLM Applications — риски приложений с нейросетями: промпт-инъекции, утечки данных через ответы модели, избыточные полномочия. Актуален, если на сайте есть ИИ-чат-бот. В декабре 2025 года вышел отдельный Top 10 для агентных ИИ-приложений.

Как использовать OWASP Top 10 в ТЗ, договоре и при аудите

Фразу «сайт должен быть защищён от уязвимостей OWASP Top 10» на приёмке почти невозможно проверить. Рабочая схема такая:

  1. В ТЗ — ссылка на OWASP ASVS с уровнем (для магазина или личного кабинета обычно L2) и перечень обязательных мер: 2FA для админов, хеширование паролей, заголовки безопасности, журналирование.
  2. В договоре — передача реестра сторонних компонентов, устранение уязвимостей высокой и критической степени до приёмки и в гарантийный период, запрет нелицензионных модулей.
  3. При приёмке — отчёт сканирования и ручной проверки по категориям Top 10, повторная проверка после исправлений.
  4. В эксплуатации — обновления CMS, плагинов и зависимостей, ревизия доступов, периодический аудит.

Независимый аудит безопасности сайта обычно строится по категориям OWASP: отчёт показывает подтверждённые риски с уровнем критичности и планом исправления. При смене подрядчика или покупке проекта его стоит дополнить техническим аудитом кода — он покажет правки ядра CMS, устаревшие зависимости и техдолг, из которых растут A03 и A06. Ориентиры: базовый аудит безопасности типового сайта на популярной CMS — от 12 000–17 000 ₽, расширенный с ручным анализом и пентестом-лайт — от 35 000–60 000 ₽, экспресс-аудит кода — от 30 000 ₽; итог зависит от объёма, стека и числа интеграций. Подробнее — в статье сколько стоит аудит безопасности сайта.

Сканеры уязвимостей: что находят и чего не видят

ИнструментТипЧто даёт
ZAP by CheckmarxDAST, бесплатныйПроверяет работающий сайт снаружи: заголовки, XSS, часть инъекций, ошибки конфигурации
Burp SuiteПрокси и сканерОсновной инструмент ручного тестирования; сканер — в платной редакции
npm audit, composer audit, OWASP Dependency-CheckАнализ зависимостейИзвестные уязвимости в библиотеках (A03)
WPScan, «Сканер безопасности» БитриксПроверки под CMSУстаревшие плагины, модули и настройки платформы

ZAP раньше был флагманским проектом OWASP: в 2023 году он ушёл из фонда, а с сентября 2024 года развивается при поддержке Checkmarx и остаётся открытым и бесплатным. Сканеры хорошо находят проблемы A02, A03 и A05, но почти не видят A01 (нужно понимать, кому что положено), A06 (бизнес-логика) и A10 — их закрывает только ручная проверка. Поэтому один прогон сканера не «закрывает OWASP».

OWASP Top 10 и 152-ФЗ

Российские законы на OWASP не ссылаются. Но статья 19 закона 152-ФЗ обязывает оператора принимать правовые, организационные и технические меры защиты персональных данных — в том числе определять угрозы, оценивать эффективность мер, обнаруживать факты несанкционированного доступа и восстанавливать данные. Для сайта с заявками и заказами закрытие рисков Top 10 — практическая часть этих технических мер.

Отчёт по OWASP не подтверждает соответствие 152-ФЗ: нужны ещё документы, согласия, локализация и организационные меры. С 30 мая 2025 года (420-ФЗ) штрафы по ст. 13.11 КоАП за утечки выросли, а за повторную утечку предусмотрены оборотные, поэтому техническую защиту и юридическое соответствие стоит проверять вместе — например, через аудит сайта на соответствие 152-ФЗ.

Чек-лист защиты веб-приложения по OWASP Top 10:2025

  • Права проверяются на сервере для каждого объекта: чужой заказ по подмене ID не открывается (A01)
  • Отладка на проде выключена, .git, бэкапы и служебные скрипты недоступны снаружи (A02)
  • Есть реестр плагинов и зависимостей, обновления по графику, брошенные модули удалены (A03)
  • HTTPS с HSTS, пароли в bcrypt или Argon2, секретов нет в репозитории (A04)
  • Запросы к базе параметризованы, вывод экранируется, настроена CSP (A05)
  • Цены, скидки и лимиты считаются на сервере, SMS и формы защищены от злоупотреблений (A06)
  • У администраторов включена 2FA, число попыток входа ограничено (A07)
  • Модули и темы только из официальных источников, внешние скрипты с SRI (A08)
  • Критичные события логируются, настроены оповещения (A09)
  • При сбое внешних сервисов система отказывает, а не пропускает операцию (A10)
  • Раз в год или после крупных изменений — независимый аудит с повторной проверкой

Базовую самопроверку по внешним признакам можно провести по чек-листу из 15 пунктов, а всё, что требует доступа к коду и логике, — доверить специалистам.

Частые вопросы
На момент публикации на owasp.org размещена английская версия, переводы добавляются по мере готовности. Русскоязычные разборы есть в профильных блогах, но часть из них по ошибке приводит список 2021 года — сверяйте порядок категорий с первоисточником.
Отдельной редакции 2026 года нет: актуальной остаётся OWASP Top 10:2025. Список обновляется раз в три-четыре года, предыдущие версии выходили в 2017 и 2021 годах.
Top 10 — рейтинг самых распространённых категорий рисков, он помогает понять, на что обращать внимание. ASVS — стандарт с конкретными требованиями и уровнями L1–L3, по которым можно принять работу подрядчика и провести проверку.
Да. Готовая CMS снимает часть рисков в ядре, но не защищает от устаревших плагинов и модулей, слабых паролей админки, ошибок конфигурации сервера и доработок подрядчиков. На практике именно эти места чаще всего и ломают.
Сканер полезен как первый шаг: он найдёт известные уязвимости компонентов, ошибки заголовков и часть инъекций. Ошибки контроля доступа, бизнес-логики и обработки сбоев он почти не видит — для них нужна ручная проверка.
Автоматическую проверку зависимостей и сканирование разумно настроить постоянно или ежемесячно. Ручной аудит — раз в год, а также перед запуском, после крупных доработок, смены подрядчика или подключения платежей.
Аудит безопасности сайта
Поможем с этой задачей под ключ — от идеи до результата. Рассчитаем стоимость и сроки под вашу задачу.
Читать подробнее
Услуги по теме
Проводим превентивный аудит безопасности сайта до того, как вас взломали: ищем уязвимости по методологии OWASP — SQL-инъекции, XSS, дыры в правах и доступах, разбираем устаревшую CMS, плагины и настройки хостинга, делаем пентест-лайт «чёрным» и «белым» ящиком. На выходе — понятный отчёт с уязвимостями, оценкой риска и приоритизированным планом устранения. Работаем на фикс-смете.
Технический аудит веб-сайта изнутри: код, архитектура, зависимости, база данных, сервер, деплой и доступы. Не SEO-чеклист, а инженерная экспертиза — за 5–15 рабочих дней вы узнаёте, в каком состоянии проект, сколько стоит техдолг и что выгоднее: дорабатывать или переписать.
Проверяем, как сайт собирает и передаёт персональные данные: формы и отдельные согласия по 156-ФЗ, политику обработки ПДн, cookie и Метрику, локализацию базы и иностранные сервисы, уведомления в Роскомнадзор. Аудит сайта на 152-ФЗ проводят разработчики, поэтому найденные нарушения мы сами исправляем в коде, а документы готовим по шаблонам; для сложных случаев рекомендуем привлечь вашего юриста — работаем с ним в связке.
Берём ваш сайт на абонентское обслуживание: мониторинг доступности, бэкапы, обновления и безопасность, доработки по часам и реакция на инциденты по SLA. Студия с 2008 года — поддерживаем сайты на любой CMS и самописном коде.