Решение
На первом этапе специалисты изучили архитектуру веб-приложения, доступные пользовательские роли, основные сценарии работы и структуру API. Отдельное внимание было уделено взаимодействию веб-интерфейса с backend-сервисами и агентским десктопным приложением, которое используется как сервер для передачи данных.
Далее была проведена инвентаризация функциональности приложения и API: тестирование охватило более 200 эндпоинтов, включая методы аутентификации, управления пользователями, работы с ролями, объектами, устройствами, настройками и служебными данными. Для каждого типа запросов проверялись типовые риски веб-приложений: ошибки авторизации, недостатки управления сессиями, небезопасная обработка входных данных, возможность инъекций, раскрытие служебной информации, некорректные настройки безопасности и ошибки валидации.
С учетом разветвленной ролевой модели отдельный блок работ был посвящен проверке разграничения доступа. Специалисты моделировали действия пользователей с разными правами и проверяли, можно ли получить доступ к функциям, данным или операциям, которые не должны быть доступны конкретной роли. Особое внимание уделялось сценариям подмены идентификаторов, обращению к объектам других пользователей, обходу ограничений через прямые API-запросы и попыткам выполнить административные действия без соответствующих привилегий.
Все выявленные недостатки анализировались не изолированно, а с точки зрения практической эксплуатации. Отдельные находки объединялись в возможные сценарии атаки: от доступа к обычной пользовательской учетной записи — к обходу ограничений роли, обращению к чужим объектам, получению чувствительных данных или выполнению операций, влияющих на работу сервиса. Такой подход позволил показать клиенту не просто список технических уязвимостей, а реальные пути, которыми злоумышленник мог бы воспользоваться при атаке на веб-приложение.