回覆列表
  • 1 # 網路圈

    其實HTTP請求頭中的HostName漏洞攻擊很早就存在了,但無論是運維還是開發人員對這個漏洞瞭解不深,也不夠重視,一般情況下,此漏洞危害並不大。

    HTTP頭資訊HostName漏洞分析

    在說這個漏洞之前我們先簡單說下HTTP協議,我們在發起HTTP請求時,其請求報文由下面幾分部組成:

    請求行

    請求頭(Header)

    空行

    請求體(請求資料)

    其中,請求頭的作用就是通知伺服器有關客戶端請求的資訊,它是由關鍵字/值對組成的,常用請求頭引數有:

    User-Agent:標記請求的瀏覽器型別

    Accept:告訴伺服器端客戶端可識別的檔案型別有哪些

    Host:告訴伺服器端客戶端請求的主機名是什麼

    一個最簡單的請求報文可能是這樣的:

    GET / HTTP/1.1Host: http://www.wukong.com

    請求頭中的Host本意告訴伺服器端要訪問的是哪個域名(因為一臺伺服器上可能會建立多個站點、使用多個域名),但伺服器端的程式碼有時也需要獲取這個Host(比如拼裝URL),在這種情況下就存在漏洞了,因為我們不能保證客戶端傳送過來的Host頭資訊就一定是合法的。

    HostName漏洞防禦方案

    HostName漏洞防禦是比較容易的,主要有兩種方法:

    1、程式程式碼中若必須獲取HostName請求頭,那一定要做必要的資料檢查,防止拼接字串輸出後產生XSS等。

    2、Web站點顯式繫結域名,避免空主機頭的存在

    當多個站點部署在同一臺伺服器上時,因為伺服器IP可能只有一個,而網站埠也都是80,那伺服器怎麼知道你訪問的是哪一個網站呢?靠的就是請求頭中的HostName,所以我們將站點顯式繫結域名,防止透過IP的方式可以訪問某個網站,這樣偽造的HostName是找不到對應站點的,也就不存在漏洞了。

  • 中秋節和大豐收的關聯?
  • 購入需要安裝的固定資產的賬務處理的會計分錄怎麼?