Que fait http-host-header-attacks ?
Playbook d'injection d'en-tête Host HTTP et d'abus de routage. Utilisez-le lorsque l'application fait confiance à l'en-tête Host pour générer des URL, router des requêtes ou contrôler l'accès — permettant l'empoisonnement de réinitialisation de mot de passe, l'empoisonnement du cache web, la SSRF via le routage et le contournement d'hôtes virtuels.
Utilisation
Ce playbook peut être utilisé avec Yaklang pour automatiser les tests d'injection d'en-tête Host. Les étapes typiques incluent :
- Identifier les points d'entrée où l'en-tête Host est utilisé.
- Tester les variations d'en-tête Host (par exemple,
Host: example.com,Host: attacker.com). - Observer les réponses pour détecter des comportements anormaux (redirections, inclusions d'URL, etc.).
Exemple de script Yaklang
// Exemple de test d'injection d'en-tête Host
host := "target.com"
maliciousHost := "attacker.com"
req, err := http.NewRequest("GET", "http://" + host + "/", nil)
if err != nil {
println("Erreur lors de la création de la requête :", err)
return
}
req.Host = maliciousHost
resp, err := http.Do(req)
if err != nil {
println("Erreur lors de l'envoi de la requête :", err)
return
}
println("Statut :", resp.StatusCode)
println("En-têtes :", resp.Headers)
Références
Contributions
Les contributions sont les bienvenues ! Veuillez soumettre une pull request ou ouvrir une issue pour signaler des bugs ou proposer des améliorations.
Licence
Ce projet est distribué sous licence MIT.