我正在尝试修复一个站点漏洞,它是 WhiteHat 提出的“输入处理不当”攻击。假设我的网站是www.mywebsite.com并且有黑客的网站www.hacker.com
每当有一个请求发送到www.mywebsite.com并且修改后的“主机”标头指向www.hacker.com时,我的网站都会创建一个到www.mywebsite.com的重定向以及它的任何 URL。为了解决这个问题,我尝试了下面的 tomcat 虚拟主机配置,但它仍然重定向到其他网站。
<Host name="defaultlocalhost" appbase="whatever">
<!-- allow addresses to these host -->
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow=".*\.mywebsite1\.com|.*\.mywebsite2\.com"/>
</Host>
所以,我的问题是,这是防止这种主机头攻击的正确方法吗?如果是,我做错了什么仍然无法正常工作?(最终的目标是,如果传入的不是合法的Host,则该请求应该被丢弃/忽略/返回404而不是302重定向)