Host Header Injection
hackingDéfinition
Le host header injection est une technique d'attaque consistant à manipuler l'en-tête HTTP Host envoyé dans une requête afin d'exploiter une confiance excessive que certaines applications ou infrastructures accordent à cette valeur, pourtant entièrement contrôlée par le client. Lorsqu'une application génère dynamiquement des liens absolus, des redirections ou des tokens de réinitialisation de mot de passe à partir de la valeur du Host plutôt que d'une configuration serveur fixe, un attaquant peut injecter un domaine arbitraire et rediriger la victime vers un site malveillant, par exemple en interceptant le lien de reset de mot de passe envoyé par email. La technique permet aussi le web cache poisoning : un en-tête Host falsifié combiné à une réponse mise en cache par un CDN ou un reverse proxy en amont peut empoisonner le cache pour tous les visiteurs suivants d'une URL donnée. Les architectures multi-tenant, où un même serveur dessert plusieurs domaines clients selon la valeur du Host, sont particulièrement exposées à un contournement de routage ou à un accès croisé entre tenants. La contre-mesure principale consiste à ne jamais faire confiance à l'en-tête Host côté application, à utiliser une liste blanche de domaines autorisés au niveau du reverse proxy, comme Nginx ou Apache, et à générer les URLs absolues à partir d'une configuration serveur fixe plutôt que dynamique.
Description
L'injection via le header HTTP Host permet d'empoisonner des caches web, de rediriger des liens de réinitialisation de mot de passe vers un domaine attaquant, ou d'exploiter des applications multi-tenant qui utilisent ce header pour le routage interne.
Exploitation
L'attaquant remplace la valeur du Host par son domaine dans une requête de reset de mot de passe. L'email envoyé à la victime contient un lien pointant vers l'infrastructure de l'attaquant, permettant de voler le token de réinitialisation.
Défense
- Valider le header Host côté serveur contre une liste blanche de domaines autorisés
- Générer les URLs de réinitialisation depuis une configuration statique, sans se baser sur le Host header
- Configurer le serveur web pour rejeter les requêtes avec des valeurs Host non reconnues
Articles liés
Expert en cybersécurité offensive et intelligence artificielle. Pentest, audit et développement IA sur-mesure.
Services
- Audit Infrastructure
- Audit Kubernetes
- Audit Microsoft 365
- Audit Sécurité Réseau
- Analyse de Risques
- Audit Active Directory
- Audit Application Web
- Audit Cloud (AWS/Azure/GCP)
- Audit Messagerie
- Audit API (OWASP Top 10)
- Audit DevSecOps & CI/CD
- Audit Code Source (SAST)
- Audit Postes de Travail
- Audit Sauvegarde & Résilience
- Audit OT/SCADA (IEC 62443)
- Développement IA
- Formations
Ressources
Projets & Outils
© 2026 Ayi NEDJIMI Consultants. Tous droits réservés. 2.1.7
Un projet cybersécurité ?
Expert dispo · Réponse 24h