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 приводит к уязвимости хранимого межсайтового скриптинга.
1. Vehicle Service Management System - 'Список механиков' (/admin/?page=mechanics)
Эксплойт:
- Посетите панель администратора http://localhost/vehicle_service/admin
- Создайте две учетные записи администратора.
- Войдите в учетную запись Admin-1 в браузере A (Chrome)
- Войдите в учетную запись Admin-2 в браузере B (Firefox)
- В учетной записи Admin-1 (Chrome) перейдите в раздел 'Список механиков' и нажмите кнопку Create New.
- Вставьте следующий полезный груз в поле ввода Full Name.
Полезная нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку Save.
- Перехватите запрос в 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) перейдите в раздел 'Запросы на обслуживание' и нажмите кнопку Create New.
- Вставьте следующий полезный груз в поле ввода Owner Contact.
Полезная нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку Save Request.
- Перехватите запрос в burpsuite и сгенерируйте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел 'Запросы на обслуживание' в браузере B (Firefox).
- Выберите новый созданный запрос на обслуживание и нажмите Action в разделе View.
- Сработает вредоносный 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) перейдите в раздел 'Список категорий' и нажмите кнопку Create New.
- Вставьте следующий полезный груз в поле ввода Category Name.
Полезная нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку Save.
- Перехватите запрос в 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) перейдите в раздел 'Список услуг' и нажмите кнопку Create New.
- Вставьте следующий полезный груз в поле ввода Service Name.
Полезная нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку Save.
- Перехватите запрос в 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) перейдите в раздел 'Список пользователей' и нажмите кнопку Create New.
- Вставьте следующий полезный груз в поле ввода First Name.
Полезная нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку Save.
- Перехватите запрос в 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) перейдите в раздел 'Настройки'.
- Вставьте следующий полезный груз в поле ввода System Name.
Полезная нагрузка:
"><script>alert(document.cookie)</script>
- Нажмите кнопку Update.
- Перехватите запрос в burpsuite и сгенерируйте CSRF HTML-файл.
- Сохраните CSRF HTML-файл, например: CSRF.html
- В браузере B (Firefox) откройте файл CSRF.html.
- Перейдите в раздел 'Настройки' в браузере B (Firefox).
- Сработает вредоносный JavaScript-код.
Воздействие:
Уязвимость межсайтовой подделки запроса существует в нескольких конечных точках, что приводит к уязвимости хранимого межсайтового скриптинга.
Смягчение:
Рекомендуется реализовать следующее:
- Непредсказуемый с высокой энтропией, как в целом для токенов сессии.
- Привязан к сессии пользователя.
- Строго проверяется в каждом случае перед выполнением соответствующего действия.