文章目錄
- 漏洞原理
- 虛擬主機配置
- Host頭部字段
- Host碰撞漏洞
- 漏洞場景
- 工具
漏洞原理
Host 碰撞漏洞,也稱為主機名沖突漏洞,是一種網絡攻擊手段。常見危害有:繞過訪問控制,通過公網訪問一些未經授權的資源等。
虛擬主機配置
在Web服務器(如Nginx或Apache)上,多個網站可以共享同一個IP地址。例如a.com->1.1.1.1,b.com->1.1.1.1,則將a.com和b.com稱為虛擬主機(Virtual Hosts)。
每個虛擬主機通過域名區分,并在Web服務器的配置文件中進行綁定。例如,在Nginx中通過server_name指令,在Apache中通過ServerName指令來綁定域名。
Host頭部字段
當客戶端向服務器發送HTTP請求時,請求頭部包含一個Host字段,指明了請求的目標域名。
Web服務器通過Host字段來確定應該處理哪個虛擬主機的請求。
如上圖,請求www.baidu.com時,服務器通過該字段來確定處理www.baidu.com這個虛擬主機的請求,然后下發資源。
Host碰撞漏洞
如果Web服務器沒有正確驗證HTTP請求中的Host字段的值,則可以通過偽造或修改Host字段,訪問其他虛擬主機上的資源。
漏洞場景
由上可知,若存在如下場景,則存在Host碰撞