CVE-2021-46075
Exploit Title: Vehicle Service Management System - 'Multiple' Privilege Escalation Leads to CRUD Operations
CVE: CVE-2021-46075
CVSS: 7.2 HIGH
References:
Description:
Уязвимость повышения привилегий существует в Sourcecodester Vehicle Service Management System 1.0. Пользователи с учетной записью сотрудника могут получить доступ к ресурсам администратора и выполнять CRUD-операции.
1. Vehicle Service Management System - 'Список пользователей' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Exploit:
- Перейдите в панель администратора http://localhost/vehicle_service/admin
- Войдите в учетную запись администратора в браузере A (Chrome)
- Войдите в учетную запись сотрудника в браузере B (Firefox)
- В учетной записи администратора (Chrome) перейдите в раздел «Список пользователей» и нажмите кнопку «Создать новый».
- Скопируйте ссылку на создание нового пользователя http://localhost/vehicle_service/admin/?page=user/manage_user
- В учетной записи сотрудника (Firefox) нет раздела «Список пользователей», так как учетная запись сотрудника не имеет прав на создание пользователя.
- Вставьте скопированную ссылку в браузере B (Firefox)
- Теперь мы можем получить доступ к странице создания пользователя.
- Введите необходимые данные и нажмите кнопку «Сохранить».
- В учетной записи администратора (Chrome) перейдите в раздел «Список пользователей» http://localhost/vehicle_service/admin/?page=user/list
- Новый пользователь был успешно создан.
- Учетная запись сотрудника может получить доступ к странице «Список пользователей» и странице создания пользователя.
- Учетная запись сотрудника может создавать, читать, обновлять и удалять пользователей.
2. Vehicle Service Management System - 'Список категорий' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Exploit:
- Перейдите в панель администратора http://localhost/vehicle_service/admin
- Войдите в учетную запись администратора в браузере A (Chrome)
- Войдите в учетную запись сотрудника в браузере B (Firefox)
- В учетной записи администратора (Chrome) перейдите в раздел «Список категорий» и нажмите кнопку «Создать новый».
- Скопируйте ссылку на создание новой категории http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- В учетной записи сотрудника (Firefox) нет раздела «Список категорий», так как учетная запись сотрудника не имеет прав на создание категории.
- Вставьте скопированную ссылку в браузере B (Firefox)
- Теперь мы можем получить доступ к странице создания категории.
- Введите необходимые данные и нажмите кнопку «Сохранить».
- В учетной записи администратора (Chrome) перейдите в раздел «Список категорий» http://localhost/vehicle_service/admin/?page=maintenance/category
- Новая категория была успешно создана.
- Учетная запись сотрудника может получить доступ к странице «Список категорий» и странице создания категории.
- Учетная запись сотрудника может создавать, читать, обновлять и удалять категории.
3. Vehicle Service Management System - 'Список услуг' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Exploit:
- Перейдите в панель администратора http://localhost/vehicle_service/admin
- Войдите в учетную запись администратора в браузере A (Chrome)
- Войдите в учетную запись сотрудника в браузере B (Firefox)
- В учетной записи администратора (Chrome) перейдите в раздел «Список услуг» и нажмите кнопку «Создать новый».
- Скопируйте ссылку на создание новой услуги http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- В учетной записи сотрудника (Firefox) нет раздела «Список услуг», так как учетная запись сотрудника не имеет прав на создание услуги.
- Вставьте скопированную ссылку в браузере B (Firefox)
- Теперь мы можем получить доступ к странице создания услуги.
- Введите необходимые данные и нажмите кнопку «Сохранить».
- В учетной записи администратора (Chrome) перейдите в раздел «Список услуг» http://localhost/vehicle_service/admin/?page=maintenance/services
- Новая услуга была успешно создана.
- Учетная запись сотрудника может получить доступ к странице «Список услуг» и странице создания услуги.
- Учетная запись сотрудника может создавать, читать, обновлять и удалять услуги.
4. Vehicle Service Management System - 'Настройки' (/admin/?page=system_info)
Exploit:
- Перейдите в панель администратора http://localhost/vehicle_service/admin
- Войдите в учетную запись администратора в браузере A (Chrome)
- Войдите в учетную запись сотрудника в браузере B (Firefox)
- В учетной записи администратора (Chrome) перейдите в раздел «Настройки».
- Скопируйте ссылку на раздел «Настройки» http://localhost/vehicle_service/admin/?page=system_info
- В учетной записи сотрудника (Firefox) нет раздела «Настройки», так как учетная запись сотрудника не имеет прав на доступ к настройкам.
- Вставьте скопированную ссылку в браузере B (Firefox)
- Теперь мы можем получить доступ к странице настроек.
- Введите необходимые данные и нажмите кнопку «Сохранить».
- В учетной записи администратора (Chrome) перейдите в раздел «Настройки» http://localhost/vehicle_service/admin/?page=system_info
- Данные были успешно обновлены.
- Учетная запись сотрудника может получить доступ к странице настроек.
- Учетная запись сотрудника может обновлять настройки.
Impact:
Удаленный злоумышленник получает расширенный доступ к ресурсам, которые обычно должны быть недоступны. Пользователи с учетной записью сотрудника могут получить доступ к ресурсам администратора и выполнять CRUD-операции.
Mitigation:
Рекомендуется реализовать следующее:
- Надлежащее управление привилегированными учетными записями
- Мониторинг и управление всеми привилегированными сеансами
- Политики и принудительное применение надежных паролей
- Очистка пользовательских вводов и защита баз данных