Analysis:
During the analysis, it was observed that the application was vulnerable to Host Header Injection as when the host header was changed to something outside the target domain (ie. Demo.testfire.net), it was accepted and was used to generate links, import scripts, etc.
Impact:
Attack vectors are somewhat limited, but depend on how the host header is used by the back-end application code. If code references the hostname used in the URL such as password reset pages, an attacker could spoof the host header of the request in order to trick the application to forwarding the password reset email to the attacker’s domain instead, etc. Other attack vectors may also be possible through manipulation of hyperlinks or other misc. code that relies on the host/domain of the request.
Recommendation:
To fix this, the application should reject anything that doesn't match the target domain.
Then Request.ServerVariables("Server_Name") should only ever contain valid values
As an additional check, you could always compare what is in that variable with a list of acceptable values that are populated during application setup, or you could look in the Metabase to see what bindings are configured for the site in question.
Comments
Post a Comment