Le téléchargement de fichier sans restriction dans la fonctionnalité d'avis sur les hôtels de QloApps versions 1.7.0 et antérieures permet à des attaquants distants non authentifiés d'obtenir une exécution de code à distance.
Exécution directe des fichiers téléchargés par le serveur.
Aucun contrôle d'authentification ou d'autorisation appliqué sur le point de terminaison.
🔥 Impact
Une exploitation réussie permet à un attaquant de :
Exécuter des commandes système arbitraires.
Lire/écrire/supprimer des fichiers sensibles du serveur.
Accéder aux identifiants de la base de données.
Pivoter vers les services réseau internes.
Compromettre entièrement le serveur d'hébergement.
Cette vulnérabilité entraîne une perte totale de confidentialité, d'intégrité et de disponibilité (Triade CIA).
🛠️ Preuve de concept (PoC) sur QloApps version 1.7.0
Nous avons besoin d'un id_order valide et d'un jeton Ajax pour requêter le point de terminaison vulnérable. Pour l'id_order, nous le bruteforçons manuellement en commençant par 1, ou nous créons un compte invité et réservons une chambre pour obtenir cet id_order. Pour le jeton Ajax, nous pouvons l'obtenir depuis n'importe quelle page de chambre d'hôtel.
1. Obtention du jeton Ajax
2. Évaluer un hôtel et téléverser notre web shell image+php spécialement conçu.
3. Déclenchement de l'exécution de code à distance