CVE-2021-46075
Titre de l'exploit : Vehicle Service Management System - Élévation de privilèges 'Multiple' conduisant à des opérations CRUD
Auteur de l'exploit : SANU P.L
CVE : CVE-2021-46075
CVSS : 7.2 HIGH
Références :
Description :
Une vulnérabilité d'élévation de privilèges existe dans Sourcecodester Vehicle Service Management System 1.0. Les utilisateurs du compte Staff peuvent accéder aux ressources de l'administrateur et effectuer des opérations CRUD.
1. Vehicle Service Management System - 'User List' (/admin/?page=user/list) (/admin/?page=user/manage_user)
Exploit :
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Connectez-vous au compte Admin dans le navigateur A (Chrome)
- Connectez-vous au compte Staff dans le navigateur B (Firefox)
- Dans le compte Admin (Chrome), accédez à la section User List et cliquez sur le bouton Create New.
- Copiez le lien de la page Create New User http://localhost/vehicle_service/admin/?page=user/manage_user
- Dans le compte Staff (Firefox), il n'y a pas de section User List, car le compte Staff n'a pas les droits de créer un utilisateur.
- Collez le lien copié dans le navigateur B (Firefox)
- Nous pouvons maintenant accéder à la page Create User.
- Saisissez les informations requises et cliquez sur le bouton Save.
- Dans le compte Admin (Chrome), accédez à la section User List http://localhost/vehicle_service/admin/?page=user/list
- Le nouvel utilisateur a été créé avec succès.
- Le compte Staff peut accéder à la page User List et à la page Create User.
- Le compte Staff peut créer, lire, modifier & supprimer les utilisateurs.
2. Vehicle Service Management System - 'Category List' (/admin/?page=maintenance/category) (/admin/?page=maintenance/manage_category)
Exploit :
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Connectez-vous au compte Admin dans le navigateur A (Chrome)
- Connectez-vous au compte Staff dans le navigateur B (Firefox)
- Dans le compte Admin (Chrome), accédez à la section Category List et cliquez sur le bouton Create New.
- Copiez le lien de la page Create New Category http://localhost/vehicle_service/admin/?page=maintenance/manage_category
- Dans le compte Staff (Firefox), il n'y a pas de section Category List, car le compte Staff n'a pas les droits de créer une catégorie.
- Collez le lien copié dans le navigateur B (Firefox)
- Nous pouvons maintenant accéder à la page Create Category.
- Saisissez les informations requises et cliquez sur le bouton Save.
- Dans le compte Admin (Chrome), accédez à la section Category List http://localhost/vehicle_service/admin/?page=maintenance/category
- La nouvelle catégorie a été créée avec succès.
- Le compte Staff peut accéder à la page Category List et à la page Create Category.
- Le compte Staff peut créer, lire, modifier & supprimer la catégorie.
3. Vehicle Service Management System - 'Service List' (/admin/?page=maintenance/services) (/admin/?page=maintenance/manage_service)
Exploit :
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Connectez-vous au compte Admin dans le navigateur A (Chrome)
- Connectez-vous au compte Staff dans le navigateur B (Firefox)
- Dans le compte Admin (Chrome), accédez à la section Service List et cliquez sur le bouton Create New.
- Copiez le lien de la page Create New Service http://localhost/vehicle_service/admin/?page=maintenance/manage_service
- Dans le compte Staff (Firefox), il n'y a pas de section Service List, car le compte Staff n'a pas les droits de créer un service.
- Collez le lien copié dans le navigateur B (Firefox)
- Nous pouvons maintenant accéder à la page Create Service.
- Saisissez les informations requises et cliquez sur le bouton Save.
- Dans le compte Admin (Chrome), accédez à la section Service List http://localhost/vehicle_service/admin/?page=maintenance/services
- Le nouveau service a été créé avec succès.
- Le compte Staff peut accéder à la page Service List et à la page Create Service.
- Le compte Staff peut créer, lire, modifier & supprimer le service.
4. Vehicle Service Management System - 'Settings' (/admin/?page=system_info)
Exploit :
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Connectez-vous au compte Admin dans le navigateur A (Chrome)
- Connectez-vous au compte Staff dans le navigateur B (Firefox)
- Dans le compte Admin (Chrome), accédez à la section Settings.
- Copiez le lien de la section Settings http://localhost/vehicle_service/admin/?page=system_info
- Dans le compte Staff (Firefox), il n'y a pas de section Settings, car le compte Staff n'a pas les droits d'y accéder.
- Collez le lien copié dans le navigateur B (Firefox)
- Nous pouvons maintenant accéder à la page Settings.
- Saisissez les informations requises et cliquez sur le bouton Save.
- Dans le compte Admin (Chrome), accédez à la section Settings http://localhost/vehicle_service/admin/?page=system_info
- Les informations ont été mises à jour avec succès.
- Le compte Staff peut accéder à la page Settings.
- Le compte Staff peut mettre à jour les paramètres.
Impact :
Un attaquant distant peut obtenir un accès privilégié à des ressources qui devraient normalement être indisponibles. Avec le compte Staff, les utilisateurs peuvent accéder aux ressources de l'administrateur et effectuer des opérations CRUD.
Atténuation :
Il est recommandé de mettre en œuvre les mesures suivantes :
- Gestion appropriée des comptes à privilèges
- Surveiller et gérer toutes les sessions privilégiées
- Politiques de mots de passe forts et leur application
- Assainir les entrées utilisateur et sécuriser les bases de données