Forum Discussion
Is there any option on LTM to prevent Host Header Injection
Hi,
First what is host header attack (injection)
The host header specifies which website or web application should process an incoming HTTP request. The web server uses the value of this header to dispatch the request to the specified website or web application.
if we take the example of SharePoint that can host multiple sites through the same IP. according to the hostname (host header), the request user is FW to the right site/app.
By using this attack, we can check whether the host is properly validated or not (Owasp rank: A6 (Security Misconfiguration)).
for mor info:
https://medium.com/@rockerramg94/host-header-injection-attack-6cf4ffeb5a03
In order to avoid this kind of attack you can set an irule which allows to filter valid hostnames.
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::host]] {
"app1.mydomain.com" -
"app2.mydomain.com" -
"app3.mydomain.com" {
log local0. "Valid Hostname"
}
default {
Drop
# you can return a specifi response...
}
}
}
You can also use datagroup for hostname...
keep me in touch if you need more details.
regards
I tried to use this iRule to do the same thing as the OP but I get this message when I try to save the iRule:
01070151:3: Rule [/Common/HostHeaderProtection] error: /Common/HostHeaderProtection:7: error: [undefined procedure: Drop][Drop]
Here is my iRule(replaced my host name with host.domain.com):
when HTTP_REQUEST {
switch -glob [string tolower [HTTP::host]] {
"host.domain.com" {
log local0. "Valid Hostname"
}
default {
Drop
}
}
}
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com