
Пентест финансовой организации с компрометацией веб-приложения
Тупаков Никита Михайлович
Senior DevSecOps
Использованные технологии
Проблема
Необходимость оценки безопасности критической инфраструктуры веб-приложения
Решение
Комплексный пентест с анализом исходного кода и тестированием привилегий
Результат
Обнаружена критическая уязвимость повышения привилегий, потенциальный ущерб $250 млн предотвращен
Детали проекта
Финансовая организация заказала пентест своего веб-приложения для оценки безопасности критической инфраструктуры. В ходе тестирования была обнаружена утечка исходного кода, позволившая получить права суперадминистратора.
Ключевые метрики
- Обнаружена утечка исходного кода через веб-директории
- Найден скрытый параметр isGlobalAdmin для повышения привилегий
- Потенциальный финансовый ущерб: $50 млн
- Потенциальный репутационный ущерб: $200 млн
- Время эксплуатации уязвимости: менее 30 минут
Предыстория
Финансовая организация заказала пентест своего веб-приложения для оценки безопасности критической инфраструктуры. Целью было выявление уязвимостей, которые могли бы привести к компрометации клиентских данных или финансовых операций.
Ход пентеста
Этап 1: Разведка и обнаружение утечки исходного кода
На этапе разведки команда обнаружила доступные директории с файлами исходного кода на Java (.java и .class файлы) в директории /app/source/, не защищенной от публичного доступа.
Найденная информация:
- • Логика обработки пользовательских запросов
- • Классы, ответственные за авторизацию и управление ролями
- • Комментарии разработчиков с описанием недокументированных параметров
Этап 2: Анализ исходного кода
Анализ выгруженных Java-файлов выявил скрытый параметр isGlobalAdmin, используемый в API-эндпоинте /admin/config:
if (request.getParameter("isGlobalAdmin") != null &&
request.getParameter("isGlobalAdmin").equals("true")) {
user.setRole("global_admin");
user.save();
}Этап 3: Эксплуатация уязвимости
Используя Burp Suite, был перехвачен POST-запрос и добавлен параметр isGlobalAdmin=true. Это позволило получить права суперадминистратора и:
- Просматривать и редактировать данные всех клиентов
- Изменять настройки приложения, включая лимиты транзакций
- Создавать новые учетные записи с любыми привилегиями
Этап 4: Оценка последствий
Потенциальный ущерб:
- • Финансовые махинации через изменение лимитов
- • Кража клиентских данных и истории операций
- • Вывод приложения из строя
- • Финансовый ущерб: $50 млн
- • Репутационный ущерб: $200 млн
Решенные проблемы
- Утечка исходного кода: исправлена конфигурация веб-сервера
- Уязвимость в управлении ролями: удален скрытый параметр
- Отсутствие мониторинга: внедрены WAF и система мониторинга
- Слабая валидация: пересмотрена логика обработки запросов
Хотите похожий результат для вашего проекта?
Наши эксперты готовы помочь решить ваши DevOps задачи