http-host-header-attacks

Tests HTTP Host header injection for password reset poisoning, cache poisoning, SSRF, and virtual host bypass.

Updated Jun 5, 2026
One-click install
npx skills add https://github.com/lNwNl/Praxis --skill http-host-header-attacks-lnwnl
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: http-host-header-attacks
Source: https://github.com/lNwNl/Praxis/tree/main/skills/_disabled/http-host-header-attacks
Command: npx skills add https://github.com/lNwNl/Praxis --skill http-host-header-attacks-lnwnl

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Web applications and proxies often trust the HTTP Host header for URL generation, routing, caching, and access control, and this Skill provides a systematic playbook to identify and exploit that trust during authorized penetration tests and CTF engagements. ## Core Features & Use Cases - Password Reset Poisoning: Inject an attacker-controlled Host header into reset requests so recovery links leak tokens to a collaborator endpoint. - Cache Poisoning & SSRF via Routing: Detect caches that omit Host from the cache key and reverse proxies that route requests to internal backends based on Host. - Validation Bypass Techniques: Apply X-Forwarded-Host overrides, absolute-URI request lines, double Host headers, trailing dots, URL parser confusion, and connection-state attacks when Host is validated. - Use Case: During a web app assessment, you find the forgot-password endpoint reflects the Host header; follow the playbook to confirm token leakage via Burp Collaborator, then escalate with framework-specific bypasses for Django, Rails, PHP, or Express. ## Quick Start Use the http-host-header-attacks skill to test the target's password reset endpoint for Host header injection and try validation bypasses if the header is filtered.

Frequently Asked Questions about http-host-header-attacks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I test for HTTP Host header injection?▼

Change the Host header to an attacker-controlled domain and check whether it is reflected in generated URLs, redirects, or emails. If the application validates Host, try bypasses like X-Forwarded-Host, absolute URIs in the request line, or double Host headers.

How does password reset poisoning via Host header work?▼

Submit a password reset request for the victim with a modified Host header pointing to your server. If the application builds the reset link from the Host value, the victim's click sends the secret token to your endpoint, letting you reset their password.

What headers bypass Host header validation?▼

X-Forwarded-Host is the most commonly trusted override, used by Django, Laravel, Symfony, and Rails behind proxies. Also test X-Host, X-Original-URL, X-Rewrite-URL, the RFC 7239 Forwarded header, and X-Forwarded-Server depending on the stack.

Can Host header attacks work when the server validates the Host value?▼

Yes, through parser mismatches: double Host headers, absolute URIs in the request line, trailing dots, tab or space injection, and credential-style values like target.com:@attacker.com. Connection-state attacks on keep-alive connections can also skip validation on subsequent requests.

When does Host header cache poisoning succeed?▼

It succeeds when the cache excludes the Host header from its cache key while the application uses Host in the response body. Most CDNs include Host in the key, so focus on custom Varnish or Nginx caches and test X-Forwarded-Host as a differentiator.

What are the limitations of Host header attacks?▼

They only work when the application actually uses the Host header in responses, routing, or server-side operations. Strictly validated hosts with canonical server-name configuration and caches that key on Host eliminate most of these attack paths.