Host Header Injection

Angry Oval Egg
3 min readNov 19, 2023
Hacker Girl

Host Header Injection is a web security vulnerability that occurs when an application relies on user-supplied input to construct the Host header of an HTTP request. This can lead to various attacks, such as:

1. Request Smuggling:
— An attacker may manipulate the Host header to perform request smuggling attacks, tricking the server into processing a request differently than the proxy in front of it.

2. Cache Poisoning:
— By injecting a malicious Host header, an attacker could poison the cache and serve content under a different domain, leading to potential security risks.

3. Password Reset Poisoning:
— Attackers might exploit Host Header Injection to manipulate password reset links, redirecting them to a malicious site under their control.

4. Session Fixation:
— An attacker could set the Host header to a domain they control during the login process, fixing the user’s session to their own domain.

5. Phishing Attacks:
— Host Header Injection can be leveraged for phishing by directing users to a malicious site that appears legitimate due to a manipulated Host header.

Nuclei and Curl perform Host Header Injection

### How to Perform Host Header Injection:

1. Intercepting Proxy:
— Use tools like Burp Suite to intercept and modify the Host header in requests. Send the manipulated request to observe the application’s response.

2. Browser Developer Tools:
— Modify the Host header using browser developer tools to inspect and tamper with the HTTP request.

3. Command Line:
— Utilize tools like `curl` to craft requests with a custom Host header and observe the application’s behavior.

### Common Vulnerabilities:

1. Missing Validation:
— Applications often fail to validate and sanitize user input when constructing the Host header, enabling injection attacks.

2. Over-Reliance on Host Header:
— Applications relying solely on the Host header for routing decisions without additional verification may be vulnerable.

3. Insecure Configuration:
— Misconfigurations in web servers or proxies can expose vulnerabilities to Host Header Injection.

4. Poor Session Management:
— Applications with inadequate session management may fall victim to session fixation attacks through Host Header Injection.

### Mitigation Strategies:

1. Input Validation:
— Validate and sanitize user input before using it to construct the Host header.

2. Use Whitelists:
— Employ whitelists for allowed hostnames to reduce the risk of injection.

3. HTTP Strict Transport Security (HSTS):
— Implement HSTS to ensure secure connections and prevent downgrade attacks.

4. Security Headers:
— Utilize security headers like Content Security Policy (CSP) to mitigate the impact of injection attacks.

5. Regular Security Audits:
— Conduct regular security audits and penetration testing to identify and remediate vulnerabilities, including Host Header Injection.

Remember, addressing Host Header Injection requires a combination of secure coding practices, proper configuration, and ongoing monitoring for potential vulnerabilities.

--

--