+7 (495) 180 40 32
Главная / Услуги / Пентест веб-приложений

Пентест веб-приложений

Проверяем, можно ли получить доступ к чужим данным и функциям вашего приложения. Работаем руками: ищем ошибки в правах доступа, сессиях и бизнес-логике — то, что не находит ни один сканер.

от 300 000 ₽2–3 неделиOWASP WSTG · ASVSBlack / Grey / White box

Кому это нужно

Специалист действует с позиции внешнего пользователя, авторизованного клиента или сотрудника с ограниченными правами и пытается получить доступ к чужой учётной записи, прочитать или изменить чужие данные, повысить привилегии, обойти обязательный этап операции, изменить сумму или статус транзакции, вызвать скрытые функции. Всё — в заранее согласованных границах.

  • Готовите приложение к запуску или к передаче крупному заказчику.
  • Серьёзно изменили архитектуру, добавили роли или запустили новый API.
  • Внедрили оплату или другие финансовые операции.
  • Изменили механизм входа: свой, через SSO или через внешнего провайдера.
  • Разбираетесь после инцидента или готовитесь к аудиту.
  • Хотите держать регулярный контроль защищённости, а не проверяться раз в жизни.

Что мы проверяем

В базовом чек-листе — 83 проверки в восьми группах. Программа под конкретное приложение шире: в неё добавляются сценарии злоупотребления именно вашими функциями, которых нет ни в одном чек-листе.

Регистрация, вход, выход, восстановление пароля и смена контактных данных — всё, через что человек попадает в приложение.

  • защита от перебора паролей и одноразовых кодов
  • возможность определить существующих пользователей
  • обход многофакторной аутентификации
  • ошибки в восстановлении доступа
  • смена почты или телефона без подтверждения
  • обработка заблокированных и удалённых аккаунтов
  • внешние провайдеры аутентификации
  • OAuth и OpenID Connect
  • единый вход в несколько систем

Как приложение создаёт, хранит и, главное, отзывает пользовательские сессии.

  • завершение сессии после выхода
  • срок действия токенов
  • возможность повторно использовать токен
  • отзыв активных сессий после смены пароля
  • защита cookie
  • фиксация и перехват сессии
  • обработка JWT
  • смена сессии после повышения привилегий
  • хранение токенов в браузере

Может ли пользователь добраться до данных и функций, которые его роли не положены. Здесь находится самая частая критичная ошибка.

  • доступ к объектам другого пользователя
  • изменение и удаление чужих данных
  • вызов административных функций
  • повышение привилегий
  • обход ограничений прямым запросом к API
  • IDOR
  • ошибки серверной авторизации
  • сохранение старых прав после смены роли
  • доступ к скрытым страницам и методам

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

  • изменение цены, суммы, количества или лимита
  • пропуск обязательного шага
  • выполнение этапов в неправильном порядке
  • повторное использование одноразовой операции
  • повторная отправка платежа или заявки
  • обход подтверждения или согласования
  • некорректная работа скидок, бонусов и промокодов
  • одновременное выполнение конфликтующих операций
  • смена статуса объекта без нужных прав
  • доверие к данным, пришедшим из браузера
  • обход ограничений, реализованных только в интерфейсе

Классические технические уязвимости — то, что чаще всего попадает в новости об утечках.

  • SQL-инъекции и другие виды инъекций
  • межсайтовый скриптинг
  • выполнение серверных команд
  • серверные запросы к произвольным адресам
  • небезопасная обработка XML
  • подмена путей к файлам
  • небезопасная десериализация
  • подделка межсайтовых запросов
  • обход серверной проверки данных
  • небезопасные перенаправления
  • раскрытие служебной информации

Загрузка и скачивание — участок, где ошибка чаще всего приводит к выполнению чужого кода.

  • ограничения на тип и размер файла
  • соответствие расширения реальному содержимому
  • возможность загрузить исполняемый код
  • обработка изображений, документов и архивов
  • доступ к чужим файлам
  • возможность перезаписи данных
  • предсказуемые ссылки на скачивание
  • временные файлы
  • работа с внешними хранилищами

Проверяем как часть приложения или как самостоятельный объект — интерфейс живёт своей жизнью и часто защищён хуже интерфейса пользователя.

  • аутентификация и авторизация методов
  • доступ к объектам по идентификатору
  • передача дополнительных параметров
  • массовое присваивание полей
  • раскрытие избыточных данных в ответах
  • ограничения частоты запросов
  • обработка ошибок
  • старые версии API
  • недокументированные методы
  • REST
  • GraphQL
  • WebSocket
  • интеграции с внешними сервисами

Серверная часть и то, что приложение отдаёт в браузер.

  • настройки веб-сервера
  • HTTP-заголовки безопасности
  • Content Security Policy
  • CORS
  • параметры TLS
  • кэширование чувствительных данных
  • отладочные компоненты
  • раскрытие конфигурации в JavaScript
  • исходные карты
  • уязвимые библиотеки
  • сообщения об ошибках
  • доступные административные интерфейсы

Подберите формат и объём

Отметьте, как устроено ваше приложение, — покажем подходящий формат, срок и порядок цены. Это ориентир для планирования, а не коммерческое предложение.

Что проверяем
Сколько ролей у пользователей
Что есть в приложении
Что даёте на старте
Ориентировочно
от 300 000 ₽
Срок
2–3 недели
Формат
Grey box

Расчёт подставится в форму — вам останется оставить контакты.

Форматы тестирования

Black box

Ни исходного кода, ни документации, ни учётных записей. Модель внешнего атакующего: проверяем публичную часть приложения и доступные извне точки входа.

Grey box

Вы даёте тестовые учётные записи всех ролей и базовую информацию о системе. Так проверяются права доступа, API и бизнес-логика — подходит большинству приложений.

White box

Добавляются архитектурная документация, конфигурация, исходный код и общение с разработчиками. Позволяет дойти до причины проблемы, а не только до её проявления.

Как проходит тестирование

Согласование области работ

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

Изучение приложения

Разбираемся, что приложение делает, какие в нём роли, параметры и связи с внешними системами. Из этого складывается программа тестирования именно под ваш продукт.

Автоматизированный анализ

Инструменты закрывают типовые ошибки и большие объёмы параметров. Каждое срабатывание проверяется руками: неподтверждённое в отчёт не попадает.

Ручное тестирование

Аутентификация, сессии, права доступа, бизнес-логика, API и обработка данных. Опираемся на OWASP Web Security Testing Guide и применимые требования ASVS, но чек-листом не ограничиваемся.

Подтверждение последствий

Для каждой уязвимости определяем, что сможет сделать атакующий и какие данные окажутся под угрозой. Работа с реальными данными — только в согласованном объёме.

Отчёт

Условия эксплуатации, доказательства, последствия и способы исправления. О критичных проблемах сообщаем сразу после подтверждения, не дожидаясь отчёта.

Повторная проверка

После исправлений повторяем соответствующие тесты и фиксируем новый статус каждой проблемы. Повторная проверка входит в стоимость работ.

Рекомендации, которые можно взять и сделать

Типовая рекомендация описывает общий принцип, и разработчику всё равно приходится самому искать способ исправления. Мы пишем иначе: с учётом причины уязвимости, архитектуры, языка и фреймворка, модели авторизации и уже работающих защитных механизмов. Где это уместно, даём два пути — временную меру, чтобы быстро снизить риск, и системное исправление причины, — и указываем, где именно должно появиться изменение: в серверной логике, интерфейсе, API-шлюзе, базе, веб-сервере или системе управления доступом. После отчёта можем разобрать сложные места вместе с вашими разработчиками.

Что вы получите

  • Резюме для руководства: уровень риска и главные выводы на одной странице.
  • Описание области и методики тестирования.
  • Перечень подтверждённых уязвимостей с оценкой критичности и описанием последствий.
  • Доказательства, примеры запросов и инструкции по воспроизведению.
  • Рекомендации под ваш стек, а не общие формулировки.
  • Критерии успешного исправления и приоритетный план работ.
  • Результаты повторной проверки.

Сроки и стоимость

Веб-приложение
от 300 000 ₽
2–3 недели
API отдельно
от 250 000 ₽
1,5–2 недели
Повторная проверка исправлений
входит в стоимость
после того, как вы всё почините

Цена зависит от размера приложения, количества ролей, числа методов API и сложности бизнес-сценариев. Мобильные приложения и аудит исходного кода — на странице анализа защищённости приложений.

Почему Oreol Security

Лицензии ФСТЭК и ФСБ России работаем с конфиденциальной информацией и криптографией легально.

16 лет в информационной безопасности, 200+ проектов: банки, промышленность, энергетика, госсектор.

Своя команда из 30+ специалистов — не перепродаём чужие услуги.

Отчёты, которые можно применять: конкретные шаги, приоритеты и перепроверка после исправлений.

Частые вопросы

Нужны ли тестовые учётные записи?
Для проверки публичной части — нет. Для полноценного анализа прав доступа и бизнес-логики они необходимы: без учётных записей разных ролей проверить, видит ли один пользователь чужие данные, физически невозможно. Лучше всего — по учётной записи на каждую основную роль.
Можно ли тестировать рабочее приложение?
Да, если это допустимо с учётом возможного воздействия. До начала работ согласовываем ограничения и запрещённые действия. Для чувствительных операций безопаснее стенд, близкий по конфигурации к рабочей системе.
Нужно ли давать исходный код?
Не обязательно. Большинство проектов идёт в формате grey box — с тестовыми учётными записями и без кода. С кодом анализ глубже: видно причину проблемы, а не только её проявление.
Проверяете ли вы API отдельно?
Да. API может входить в общий объём работ или проверяться как самостоятельный объект — например, если у продукта нет собственного интерфейса.
Используете ли вы OWASP ASVS?
Да, применимые требования ASVS используются при формировании и документировании проверок. Но состав работ определяется особенностями приложения, а не формальным уровнем стандарта: соответствие уровню — это отдельная задача, и мы её так и называем.
Что происходит при обнаружении критической уязвимости?
Сообщаем вашим представителям сразу и передаём всё, что нужно для снижения риска. Дальнейшую проверку чувствительного сценария продолжаем только после согласования.
Чем это отличается от сканирования?
Сканер проверяет приложение по известным признакам и не понимает назначения функций. Он не заметит, что обычный пользователь видит данные администратора, платёж проходит без обязательного подтверждения, а три мелкие ошибки вместе дают доступ к закрытой функции. Всё перечисленное находится руками.
Фон

Расскажите о задаче

Опишите задачу в двух словах — вернёмся с уточняющими вопросами и предварительной оценкой в течение рабочего дня. При необходимости подпишем NDA.

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

Оставьте свои контактные данные. Мы свяжемся с вами и подберем универсальное решение с широкими функциональными возможностями.

Успешно!

Ваш запрос успешно отправлен! В ближайшее время с вами свяжется представитель компании и ответит на все вопросы.

Ошибка

К сожалению, не удалось отправить заявку. Обновите страницу или попробуйте позже.

Мы используем файлы cookie, чтобы сделать сайт удобнее. Оставаясь на сайте, вы соглашаетесь с условиями использования