hunt-host-header

Validates Host header and X-Forwarded-* parsing consistency in proxied web applications.

10|3|Updated Aug 10, 2026
One-click install
npx skills add https://github.com/baiqigo/baiqi-redteam-lab --skill hunt-host-header-baiqigo
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: hunt-host-header
Source: https://github.com/baiqigo/baiqi-redteam-lab/tree/main/.agents/skills/hunt-host-header
Command: npx skills add https://github.com/baiqigo/baiqi-redteam-lab --skill hunt-host-header-baiqigo

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Applications behind CDNs and reverse proxies often trust Host, X-Forwarded-Host, or Forwarded headers inconsistently, causing password-reset links, absolute redirects, and multi-tenant routing to be generated with attacker-controllable hostnames. This Skill provides a scoped, evidence-gated workflow to verify whether a target actually generates non-allowlisted absolute URLs in sensitive flows. ## Core Features & Use Cases - Proxy Chain Modeling: Captures baseline requests and records how the CDN/edge layer handles Host, :authority, X-Forwarded-Host, X-Forwarded-Proto, and Forwarded headers. - Minimal Safe Validation: Changes one header at a time using HEAD requests, non-sending actions, or self-owned reset previews to avoid real email delivery or cross-tenant impact. - Strict Oracle and Stop Conditions: Only counts server-generated, controllable, non-allowlisted absolute URLs in sensitive flows as valid findings; CDN rejections, plain Host reflection, and uncontrollable Locations are explicitly not vulnerabilities. - Use Case: During an authorized assessment, test whether the password-reset flow builds its link from X-Forwarded-Host by sending a modified request to your own account and checking whether the generated link uses an attacker-controlled domain. ## Quick Start Ask the agent to verify whether the in-scope application's password reset flow trusts X-Forwarded-Host when generating absolute links, using only your own test account.

Frequently Asked Questions about hunt-host-header

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

FAQPage Schema
How do I test for Host header injection in a password reset flow?

Capture a normal reset request for your own account, then resend it with a modified Host or X-Forwarded-Host header pointing to a domain you control. If the generated reset link uses your injected host and reaches your own inbox, the flow is vulnerable.

What is the difference between Host header reflection and actual exploitation?

Simple reflection of the Host value in a response is not a vulnerability. Exploitation requires the server to generate a controllable, non-allowlisted absolute URL that enters a sensitive flow such as password reset, OAuth redirect, or cacheable content.

Which proxy headers should be tested besides Host?

Test X-Forwarded-Host, X-Forwarded-Proto, X-Forwarded-Port, and the RFC 7239 Forwarded header, plus :authority in HTTP/2. Change only one header per request to identify which values the edge layer strips and which the application trusts.

Why is my Host header test blocked or showing no effect?

CDNs and WAFs often strip or reject unexpected Host and forwarding headers before they reach the application, which is an inconclusive result, not a vulnerability. Verify which headers survive the edge layer by comparing responses against your baseline.

When should I stop a Host header injection test?

Stop when testing would require sending email to third-party recipients, writing to shared caches, or affecting real tenants. Only proceed with self-owned accounts, callback domains, and rollback-safe data within the locked scope.