La fonctionnalité de réinitialisation de mot de passe de MediTrack Health présente un défaut subtil dans la façon dont elle construit les liens de réinitialisation. Exploitez-le pour prendre le contrôle du compte administrateur, puis trouvez un moyen d'escalader vos privilèges sur le serveur.
L'injection d'en-tête Host est une vulnérabilité d'application web qui exploite la façon dont les applications utilisent l'en-tête HTTP Host pour générer des liens, des redirections et d'autre contenu. L'une des manifestations les plus dangereuses de cette vulnérabilité est l'empoisonnement de réinitialisation de mot de passe, où un attaquant manipule l'en-tête Host pour rediriger les liens de réinitialisation de mot de passe vers un serveur qu'il contrôle, permettant la prise de contrôle de compte sans aucune interaction de la victime au-delà du clic sur le lien de réinitialisation.
Lorsqu'un utilisateur demande une réinitialisation de mot de passe, l'application génère typiquement un jeton unique et construit une URL de réinitialisation en utilisant l'en-tête Host de la requête entrante. Si l'application fait aveuglément confiance à l'en-tête Host, un attaquant peut initier une réinitialisation de mot de passe pour un compte cible tout en injectant un en-tête Host malveillant pointant vers son propre serveur. L'email de réinitialisation envoyé à la victime contient un lien avec le domaine de l'attaquant, et lorsqu'il est cliqué, le jeton de réinitialisation est divulgué au serveur de l'attaquant - lui accordant la possibilité de réinitialiser le mot de passe de la victime et de prendre le contrôle du compte.
L'empoisonnement de réinitialisation de mot de passe a été trouvé dans de nombreuses applications de production, incluant des frameworks web et des plateformes CMS majeures. La vulnérabilité est particulièrement dangereuse dans les systèmes de santé, financiers et administratifs où la prise de contrôle de compte peut mener à l'accès à des données sensibles. Dans les scénarios de tests d'intrusion, l'obtention d'un accès administrateur via l'empoisonnement de réinitialisation de mot de passe est souvent enchaînée avec des vulnérabilités supplémentaires - comme l'injection de commandes dans les outils administratifs - pour escalader de la compromission de l'application web à l'accès complet au serveur et l'escalade de privilèges.
Les applications ne devraient jamais utiliser l'en-tête Host directement lors de la construction d'URL dans les emails ou les redirections. Au lieu de cela, le domaine de l'application devrait être stocké dans un fichier de configuration et utilisé de manière cohérente. La validation côté serveur de l'en-tête Host contre une liste blanche de domaines autorisés empêche la manipulation. Les en-têtes de sécurité comme X-Forwarded-Host devraient être traités avec la même prudence. Des tests de sécurité réguliers incluant la manipulation de l'en-tête Host aident à identifier ces vulnérabilités avant qu'elles ne puissent être exploitées.
Créez un compte gratuit et pratiquez la cybersécurité.
Lancez votre machine dédiée pour commencer à hacker
Créez un compte gratuit pour démarrer votre propre serveur dédié, soumettre des flags et gagner des XP au classement.
Commencer à Hacker GratuitementLabs qui partagent des compétences similaires
Choisissez comment vous voulez commencer
Connectez-vous à votre compte