CVE-2021-46067
Titre de l'exploit : Vehicle Service Management System - 'Multiple' Vol de cookies menant à une prise de contrôle complète du compte
Auteur de l'exploit : SANU P.L
CVE : CVE-2021-46067
CVSS : 9.8 CRITIQUE
Références :
Description :
Dans Vehicle Service Management System 1.0, un attaquant peut voler les cookies, menant à une prise de contrôle complète du compte.
1. Vehicle Service Management System - 'MyAccount' (/admin/?page=user)
Exploitation :
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section Mon compte http://localhost/vehicle_service/admin/?page=user
- Générez l'URL Webhook - https://webhook.site
- Copiez l'URL unique du Webhook et collez-la dans le code html ci-dessous.
Payload :
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Enregistrez le code html ci-dessus, par exemple : Cookie Stealing.html
- Dans la section Mon compte, saisissez tous les détails requis et parcourez le fichier html dans Avatar.
- Cliquez sur le bouton de mise à jour.
- Ouvrez l'image de l'avatar dans un nouvel onglet et vérifiez l'état du Webhook.
- Nous avons reçu la requête ; elle contient PHPSESSID.
- Copiez la valeur de PHPSESSID et ouvrez un autre navigateur.
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Vérifiez les valeurs des cookies et remplacez la valeur de PHPSESSID par celle copiée.
- Accédez maintenant au panneau d'administration http://localhost/vehicle_service/admin
- Connecté avec succès au compte. Prise de contrôle du compte réussie.
2. Vehicle Service Management System - 'User List' (/admin/?page=user/manage_user)
Exploitation :
- Connectez-vous au panneau d'administration http://localhost/vehicle_service/admin
- Accédez à la section Liste des utilisateurs et cliquez sur le bouton Créer nouveau.
- Générez l'URL Webhook - https://webhook.site
- Copiez l'URL unique du Webhook et collez-la dans le code html ci-dessous.
Payload :
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Enregistrez le code html ci-dessus, par exemple : Cookie Stealing.html
- Dans la section Créer un nouvel utilisateur, saisissez tous les détails requis et parcourez le fichier html dans Avatar.
- Cliquez sur le bouton Enregistrer.
- Ouvrez l'image de l'avatar dans un nouvel onglet et vérifiez l'état du Webhook.
- Nous avons reçu la requête ; elle contient PHPSESSID.
- Copiez la valeur de PHPSESSID et ouvrez un autre navigateur.
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Vérifiez les valeurs des cookies et remplacez la valeur de PHPSESSID par celle copiée.
- Accédez maintenant au panneau d'administration http://localhost/vehicle_service/admin
- Connecté avec succès au compte. Prise de contrôle du compte réussie.
3. Vehicle Service Management System - 'Settings-System Logo' (/admin/?page=system_info)
Exploitation :
- 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
- Générez l'URL Webhook - https://webhook.site
- Copiez l'URL unique du Webhook et collez-la dans le code html ci-dessous.
Payload :
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Enregistrez le code html ci-dessus, par exemple : Cookie Stealing.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 de mise à jour.
- Ouvrez l'image du logo du système dans un nouvel onglet et vérifiez l'état du Webhook.
- Nous avons reçu la requête ; elle contient PHPSESSID.
- Copiez la valeur de PHPSESSID et ouvrez un autre navigateur.
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Vérifiez les valeurs des cookies et remplacez la valeur de PHPSESSID par celle copiée.
- Accédez maintenant au panneau d'administration http://localhost/vehicle_service/admin
- Connecté avec succès au compte. Prise de contrôle du compte réussie.
4. Vehicle Service Management System - 'Settings-Website Cover' (/admin/?page=system_info)
Exploitation :
- 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
- Générez l'URL Webhook - https://webhook.site
- Copiez l'URL unique du Webhook et collez-la dans le code html ci-dessous.
Payload :
<!DOCTYPE html>
<html>
<title>Cookie Stealing</title>
<body>
</body>
</html>
- Enregistrez le code html ci-dessus, par exemple : Cookie Stealing.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 de mise à jour.
- Ouvrez l'image de la couverture du site web dans un nouvel onglet et vérifiez l'état du Webhook.
- Nous avons reçu la requête ; elle contient PHPSESSID.
- Copiez la valeur de PHPSESSID et ouvrez un autre navigateur.
- Visitez le panneau d'administration http://localhost/vehicle_service/admin
- Vérifiez les valeurs des cookies et remplacez la valeur de PHPSESSID par celle copiée.
- Accédez maintenant au panneau d'administration http://localhost/vehicle_service/admin
- Connecté avec succès au compte. Prise de contrôle du compte réussie.
Impact :
Un attaquant télécharge un fichier html malveillant ; il redirige vers un site web tiers et les cookies sont exposés dans la requête. Cela mène à une prise de contrôle complète du compte.
Atténuation :
Il est recommandé de valider la fonctionnalité de téléchargement de fichiers et d'effectuer des vérifications secondaires dans la session.