取消
显示结果 
搜索替代 
您的意思是: 
cancel
4298
查看次数
18
有帮助
1
评论
julianchen
Spotlight
Spotlight
引言:通过本文的阅读,你将了解到什么是Host头攻击,如何抵御该攻击,以及此类攻击所揭示出的何种漏洞。

一般而言,几个网站以共享的方式宿驻在同一台web服务器之上,或者几个web应用程序共享同一个IP地址,这都是业界一些非常通用的做法。当然,这也就是host头(host header或称主机头)的存在原因。Host头指定了应该由哪个网站或是web应用程序来处理一个传入的HTTP请求。web服务器使用该头部的值来将请求分派到指定的网站或web应用程序之上。宿驻在同一IP地址上的每个web应用程序通常被称为虚拟主机。那么针对host头的攻击是由什么所组成的呢?

我们来看看如果指定的是一个无效的host头会发生什么?大多数web服务器被配置为将无法识别的host头传送到列表中的第一台虚拟主机之上。因此,这使得把携带任意host头的请求发送到第一台虚拟主机上是完全可能的。

另一种传送任意host头的方法是使用X-Forwarded-Host头。在某些配置中,这个头会被主机头的值所重写。因此很可能会产生如下的请求。

GET / HTTP/1.1 Host:www.example.com X-Forwarded-Host: www.attacker.com


许多web应用程序都依赖于HTTP的host头来解读出“他们在何处。可不幸的是,许多应用程序开发人员没有意识到HTTP的host头是由用户所控制的。正如你可能已经知道的那样,在应用程序的安全理念中,用户的输入应该总是被认为不安全的。因此,在未被正确地得到事先验证之前,请永远不要去信任它们。

虽然在PHP web应用程序中,对于host头的使用是非常普遍的;但是,这实际上并非是PHP web应用程序所独有问题。下面示例中的PHP脚本是一个典型的、危险的host头的用例。

攻击者通过操纵host头,可以操控上面的代码来产生下面这种HTML类型的输出。

评论
13nash
Level 8
Level 8
一直对应用有敬佩之心
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接