Проверка сайта
Отчёт может содержать запросы, ответы, последовательность действий и другие материалы, подтверждающие обнаруженную проблему.
Пример отчёта
Отчёт содержит найденные проблемы, оценку риска, доступные технические доказательства и рекомендации по исправлению. Достаточность подтверждения зависит от характера находки и выполненного исследования.
Демонстрационный пример
Иллюстрация отчёта; состав материалов зависит от выполненной проверки.
Содержание отчёта
Для проверок сайта отчёт может содержать запросы, ответы и шаги воспроизведения. Для анализа исходного кода — файлы, строки, описание опасного участка и условия возможной эксплуатации.
Отчёт может содержать запросы, ответы, последовательность действий и другие материалы, подтверждающие обнаруженную проблему.
Отчёт может содержать файлы, строки и рекомендации. Потенциально уязвимый участок кода не всегда означает подтверждённую возможность эксплуатации в работающем приложении.
Состав материалов зависит от выполненной проверки. Оценку уверенности и доказательства следует учитывать при проверке вывода.
ОТЧЁТ О ПРОВЕРКЕ #42
12 нояб. 2024, 14:28 · 32 мин · Глубокая проверка · Тестовая среда
Роль администратора можно выставить себе самому
Обычный пользователь повышает свои права через параметр запросаЧужой заказ открывается по номеру
Другой пользователь может прочитать чужие персональные данныеДругой пользователь может прочитать чужие персональные данные
Обычный пользователь повышает свои права через параметр запроса
Токен сброса не привязан к пользователю
Демонстрационный пример · Проверка #42 · https://demo-shop.ru · Тестовая среда · Глубокая проверка · 32 мин
Разбор находки
Сначала — влияние на продукт. Затем — воспроизводимое доказательство и технические детали.
Другой пользователь может прочитать чужой заказ
Приложение отдаёт заказ по номеру, не проверяя, что этот заказ принадлежит тому, кто его запрашивает. Достаточно изменить номер в адресе — и вместо своего заказа открывается чужой.
Проблему можно использовать для доступа к чужим данным или действиям от имени другого пользователя.
Любой зарегистрированный пользователь может прочитать чужие заказы: состав покупки, адрес доставки, имя и телефон получателя. Это персональные данные ваших клиентов.
Пользователи, чьи заказы можно перебрать по номеру. Номер заказа — обычное последовательное число, поэтому перебор не требует усилий.
Проверка выполнена двумя тестовыми аккаунтами: аккаунт А создал заказ, аккаунт Б запросил его по номеру и получил полные данные. Повторено дважды с разными номерами.
Ограничить доступ к заказу его владельцем и запустить повторную проверку
Воспроизведение
Сохранённые запросы, ответы, действия и артефакты позволяют разработчику самостоятельно проверить вывод.
Последние два шага отмечены как проблемные: приложение отдало данные заказа, который принадлежит другому пользователю.
Примеры находок
В демонстрационном сценарии показаны 6 примеров из 16 находок. В реальном отчёте непроверенные направления не выдаются за уязвимости.
Навигация
Четыре вещи, которые нужны команде в первую минуту.
Разбивка проблем по уровням риска — чтобы понимать объём работы.
Приоритеты, чтобы команда сразу понимала порядок действий.
Исследованные сценарии, связанные файлы и условия обнаружения проблемы.
Доступные материалы: запросы, ответы, фрагменты кода или шаги воспроизведения. Скриншоты и видео — если получены.
Убедитесь сами
Выберите сайт или исходный код, задайте условия проверки и получите результат в личном кабинете.