Web服務器常見安全漏洞

Web服務器存在的主要漏洞包括物理路徑泄露,CGI源代碼泄露,目錄遍歷,執行任意命令,緩衝區溢出,拒絕服務,SQL注入,條件競爭和跨站腳本執行漏洞,和CGI漏洞有些相似的地方,但



Web服務器存在的主要漏洞包括物理路徑泄露,CGI源代碼泄露,目錄遍歷,執行任意命令,緩衝區溢出,拒絕服務,SQL注入,條件競爭和跨站腳本執行漏洞,和CGI漏洞有些相似的地方,但是更多的地方還是有着本質的不同。不過無論是什麼漏洞,都體現着安全是一個整體的真理,考慮Web服務器的安全性,必須要考慮到與之相配合的操作系統。

◆物理路徑泄露

物理路徑泄露一般是由於Web服務器處理用戶請求出錯導致的,如通過提交一個超長的請求,或者是某個精心構造的特殊請求,或是請求一個Web服務器上不存在的文件。這些請求都有一個共同特點,那就是被請求的文件肯定屬於CGI腳本,而不是靜態HTML頁面。

還有一種情況,就是Web服務器的某些顯示環境變量的程序錯誤的輸出了Web服務器的物理路徑,這應該算是設計上的問題。

◆目錄遍歷

目錄遍歷對於Web服務器來說並不多見,通過對任意目錄附加“../”,或者是在有特殊意義的目錄附加“../”,或者是附加“../”的一些變形,如“..\”或“..//”甚至其編碼,都可能導致目錄遍歷。前一種情況並不多見,但是後面的幾種情況就常見得多,以前非常流行的IIS二次解碼漏洞和Unicode解碼漏洞都可以看作是變形後的編碼。

◆執行任意命令

執行任意命令即執行任意操作系統命令,主要包括兩種情況。一是通過遍歷目錄,如前面提到的二次解碼和UNICODE解碼漏洞,來執行系統命令。另外一種就是Web服務器把用戶提交的請求作爲SSI指令解析,因此導致執行任意命令。

◆緩衝區溢出

緩衝區溢出漏洞想必大家都很熟悉,無非是Web服務器沒有對用戶提交的超長請求沒有進行合適的處理,這種請求可能包括超長URL,超長HTTP Header域,或者是其它超長的數據。這種漏洞可能導致執行任意命令或者是拒絕服務,這一般取決於構造的數據。

◆拒絕服務

拒絕服務產生的原因多種多樣,主要包括超長URL,特殊目錄,超長HTTP Header域,畸形HTTP Header域或者是DOS設備文件等。由於Web服務器在處理這些特殊請求時不知所措或者是處理方式不當,因此出錯終止或掛起。

◆SQL注入

SQL注入的漏洞在編程過程造成的。後臺數據庫允許動態SQL語句的執行。前臺應用程序沒有對用戶輸入的數據或者頁面提交的信息(如POST, GET)進行必要的安全檢查。數據庫自身的特性造成的,與web程序的編程語言的無關。幾乎所有的關係數據庫系統和相應的SQL語言都面臨SQL注入的潛在威脅 。

◆條件競爭

這裏的條件競爭主要針對一些管理服務器而言,這類服務器一般是以System或Root身份運行的。當它們需要使用一些臨時文件,而在對這些文件進行寫操作之前,卻沒有對文件的屬性進行檢查,一般可能導致重要系統文件被重寫,甚至獲得系統控制權。

◆CGI漏洞

通過CGI腳本存在的安全漏洞,比如暴露敏感信息、缺省提供的某些正常服務未關閉、利用某些服務漏洞執行命令、應用程序存在遠程溢出、非通用CGI程序的編程漏洞。

上述文章內容概要地對Web應用系統存在的安全風險進行分析,當然還有更多的其它安全漏洞。葉子提醒基於web應用交易的企業用戶,建議尋求專業的安全服務團隊或機構對web應用的站點進行風險評估,以減少web應用系統的風險。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章