CVE-2021-46080
Название эксплойта: Vehicle Service Management System - 'Множественная' межсайтовая подделка запроса (CSRF) приводит к сохраненному межсайтовому скриптингу (XSS)
Автор эксплойта: SANU P.L
CVE: CVE-2021-46080
CVSS: 4.8 СРЕДНИЙ
Ссылки:
Описание:
Уязвимость межсайтовой подделки запроса (CSRF) существует в Vehicle Service Management System 1.0. Успешная CSRF-атака приводит к уязвимости сохраненного межсайтового скриптинга (XSS).
1. Vehicle Service Management System - 'Список механиков' (/admin/?page=mechanics)
Эксплойт:
- Перейдите в административную панель http://localhost/vehicle_service/admin
- Создайте две учётные записи администратора.
- Войдите в учётную запись Admin-1 в Браузере A (Chrome)
- Войдите в учётную запись Admin-2 в Браузере B (Firefox)
- В учётной записи Admin-1 (Chrome) перейдите в раздел «Список механиков» и нажмите кнопку «Создать новый».
- Внедрите приведённую ниже нагрузку в поле ввода «Полное имя».
Нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку «Сохранить».
- Перехватите запрос в burpsuite и создайте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В Браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел «Список механиков» в Браузере B (Firefox).
- Срабатывает вредоносный JavaScript-код.
2. Vehicle Service Management System - 'Запросы на обслуживание' (/admin/?page=service_requests)
Эксплойт:
- Перейдите в административную панель http://localhost/vehicle_service/admin
- Создайте две учётные записи администратора.
- Войдите в учётную запись Admin-1 в Браузере A (Chrome)
- Войдите в учётную запись Admin-2 в Браузере B (Firefox)
- В учётной записи Admin-1 (Chrome) перейдите в раздел «Запросы на обслуживание» и нажмите кнопку «Создать новый».
- Внедрите приведённую ниже нагрузку в поле ввода «Контакт владельца».
Нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку «Сохранить запрос».
- Перехватите запрос в burpsuite и создайте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В Браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел «Запросы на обслуживание» в Браузере B (Firefox).
- Выберите недавно созданный запрос на обслуживание и нажмите «Действие» в разделе «Просмотр».
- Срабатывает вредоносный JavaScript-код.
3. Vehicle Service Management System - 'Список категорий' (/admin/?page=maintenance/category)
Эксплойт:
- Перейдите в административную панель http://localhost/vehicle_service/admin
- Создайте две учётные записи администратора.
- Войдите в учётную запись Admin-1 в Браузере A (Chrome)
- Войдите в учётную запись Admin-2 в Браузере B (Firefox)
- В учётной записи Admin-1 (Chrome) перейдите в раздел «Список категорий» и нажмите кнопку «Создать новый».
- Внедрите приведённую ниже нагрузку в поле ввода «Название категории».
Нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку «Сохранить».
- Перехватите запрос в burpsuite и создайте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В Браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел «Список категорий» в Браузере B (Firefox).
- Срабатывает вредоносный JavaScript-код.
4. Vehicle Service Management System - 'Список услуг' (/admin/?page=maintenance/services)
Эксплойт:
- Перейдите в административную панель http://localhost/vehicle_service/admin
- Создайте две учётные записи администратора.
- Войдите в учётную запись Admin-1 в Браузере A (Chrome)
- Войдите в учётную запись Admin-2 в Браузере B (Firefox)
- В учётной записи Admin-1 (Chrome) перейдите в раздел «Список услуг» и нажмите кнопку «Создать новый».
- Внедрите приведённую ниже нагрузку в поле ввода «Название услуги».
Нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку «Сохранить».
- Перехватите запрос в burpsuite и создайте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В Браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел «Список услуг» в Браузере B (Firefox).
- Срабатывает вредоносный JavaScript-код.
5. Vehicle Service Management System - 'Список пользователей' (/admin/?page=user/list)
Эксплойт:
- Перейдите в административную панель http://localhost/vehicle_service/admin
- Создайте две учётные записи администратора.
- Войдите в учётную запись Admin-1 в Браузере A (Chrome)
- Войдите в учётную запись Admin-2 в Браузере B (Firefox)
- В учётной записи Admin-1 (Chrome) перейдите в раздел «Список пользователей» и нажмите кнопку «Создать новый».
- Внедрите приведённую ниже нагрузку в поле ввода «Имя».
Нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку «Сохранить».
- Перехватите запрос в burpsuite и создайте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В Браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел «Список пользователей» в Браузере B (Firefox).
- Срабатывает вредоносный JavaScript-код.
6. Vehicle Service Management System - 'Настройки' (/admin/?page=system_info)
Эксплойт:
- Перейдите в административную панель http://localhost/vehicle_service/admin
- Создайте две учётные записи администратора.
- Войдите в учётную запись Admin-1 в Браузере A (Chrome)
- Войдите в учётную запись Admin-2 в Браузере B (Firefox)
- В учётной записи Admin-1 (Chrome) перейдите в раздел «Настройки».
- Внедрите приведённую ниже нагрузку в поле ввода «Название системы».
Нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку «Обновить».
- Перехватите запрос в burpsuite и создайте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В Браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел «Настройки» в Браузере B (Firefox).
- Срабатывает вредоносный JavaScript-код.
Влияние:
Уязвимость межсайтовой подделки запроса (CSRF) существует в нескольких конечных точках и приводит к уязвимости сохраненного межсайтового скриптинга (XSS).
Смягчение:
Рекомендуется реализовать следующее:
- Непредсказуемое значение с высокой энтропией, как и для токенов сеанса в целом.
- Привязанное к сеансу пользователя.
- Строго проверяемое в каждом случае перед выполнением соответствующего действия.