Пример отчёта

От найденной проблемы до понятного решения

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

Демонстрационный пример

Иллюстрация отчёта; состав материалов зависит от выполненной проверки.

Содержание отчёта

Что можно узнать из результата

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

Проверка сайта

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

Проверка исходного кода

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

Доказательства и ограничения

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

Демонстрационный пример · Проверка #42 · https://demo-shop.ru · Тестовая среда · Глубокая проверка · 32 мин

Разбор находки

Так выглядит находка в демонстрационном отчёте

Сначала — влияние на продукт. Затем — воспроизводимое доказательство и технические детали.

Высокий риск #F-001

Чужой заказ открывается по номеру

Другой пользователь может прочитать чужой заказ

Что произошло

Приложение отдаёт заказ по номеру, не проверяя, что этот заказ принадлежит тому, кто его запрашивает. Достаточно изменить номер в адресе — и вместо своего заказа открывается чужой.

Насколько опасно

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

Что может произойти

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

Кого затрагивает

Пользователи, чьи заказы можно перебрать по номеру. Номер заказа — обычное последовательное число, поэтому перебор не требует усилий.

Как подтверждена

Проверка выполнена двумя тестовыми аккаунтами: аккаунт А создал заказ, аккаунт Б запросил его по номеру и получил полные данные. Повторено дважды с разными номерами.

Как исправить

Ограничить доступ к заказу его владельцем и запустить повторную проверку

Технические детали
Класс
IDOR
Стандарт
CWE-639
Запрос
GET /api/orders/{id}
Пример
/account/orders/10231

Воспроизведение

Как доказана проблема

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

  1. 1 Входит тестовым аккаунтом /login 00:00
  2. 2 Открывает личный кабинет /account 00:14
  3. 3 Переходит к списку заказов /account/orders 00:31
  4. 4 Запрашивает заказ по номеру /account/orders/10231 00:52
  5. 5 Получает чужие персональные данные /account/orders/10231 00:53

Последние два шага отмечены как проблемные: приложение отдало данные заказа, который принадлежит другому пользователю.

Условия проверки

Тестовая среда
Адрес сайта
https://demo-shop.ru
Объём проверки
Глубокая проверка
Среда
Тестовая среда
Длительность
32 мин
Найдено проблем
16

Примеры находок

Найденные проблемы и непроверенные направления

В демонстрационном сценарии показаны 6 примеров из 16 находок. В реальном отчёте непроверенные направления не выдаются за уязвимости.

Навигация

Как читать отчёт

Четыре вещи, которые нужны команде в первую минуту.

Сколько нашлось

Разбивка проблем по уровням риска — чтобы понимать объём работы.

Что чинить первым

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

Как проверялось

Исследованные сценарии, связанные файлы и условия обнаружения проблемы.

Доказательства

Доступные материалы: запросы, ответы, фрагменты кода или шаги воспроизведения. Скриншоты и видео — если получены.

Убедитесь сами

Получите такой отчёт по своему проекту

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