在討論Web服務器如何破解之前,我們先來看看構(gòu)成完整Web門戶的各種組件。 首先,Web服務器是通常在端口80上偵聽的服務??蛻舳塑浖?通常是瀏覽器)連接到端口并發(fā)送HTTP查詢。 Web服務通過提供所請求的內(nèi)容(如HTML,JavaScript等)進行響應。在某些情況下,可以將服務配置為在缺省的端口上運行,這是邁向安全的一小步。
在討論Web服務器如何破解之前,我們先來看看構(gòu)成完整Web門戶的各種組件。 首先,Web服務器是通常在端口80上偵聽的服務??蛻舳塑浖?通常是瀏覽器)連接到端口并發(fā)送HTTP查詢。 Web服務通過提供所請求的內(nèi)容(如HTML,JavaScript等)進行響應。在某些情況下,可以將服務配置為在缺省的端口上運行,這是邁向安全的一小步。
Web服務器還可以托管諸如FTP或NNTP的服務,這些服務在自己的單獨的默認端口上運行。 下圖顯示了Web服務如何映射到OSI層。 HTTP協(xié)議在第7層工作,而HTTPS(安全套接字層)在第6層工作。
Web服務和OSI層
現(xiàn)代Web應用程序通常不僅僅是以簡單網(wǎng)頁的形式提供內(nèi)容。 業(yè)務邏輯和數(shù)據(jù)倉儲組件(如數(shù)據(jù)庫服務器,應用程序服務器和中間件軟件)也用于生成并向
網(wǎng)站用戶提供業(yè)務特定數(shù)據(jù)。 這些組件通常安裝并運行在一組單獨的服務器上,并且可能共享或不共享存儲
空間。 高級Web應用程序代碼可以在內(nèi)部調(diào)用托管在不同服務器上的Web服務,并將結(jié)果頁面?zhèn)鬟f給客戶端。 Web程序員還使用Cookie來維護會話,并在客戶端瀏覽器中存儲特定于會話的信息。
網(wǎng)頁劫持
破解一個網(wǎng)站是相當容易的。新手可能會試圖從網(wǎng)站竊取數(shù)據(jù),而專業(yè)人士可能會因為破壞網(wǎng)站或使用
網(wǎng)絡服務器傳播病毒而造成嚴重破壞。與大多數(shù)其他攻擊不同,Web攻擊所用的技術(shù)范圍從第2層到第7層,因此Web服務器很容易受到各種可能的黑客攻擊。由于
防火墻端口必須為Web服務打開(默認情況下是端口80),因此它無法阻止第7層的攻擊,這使得對Web攻擊的檢測變得困難。請參考下圖,它顯示了用于形成Web門戶基礎設施的典型組件。
Web門戶基礎設施
從安全的角度來看,這些組件中的每一個都有一些弱點,如果被利用,就會導致Web內(nèi)容的入侵?,F(xiàn)在讓我們詳細討論一些常見但危險的攻擊。
DoS和嗅探
由于該網(wǎng)站的IP地址是開放給互聯(lián)網(wǎng)的,因此拒絕服務攻擊很容易使Web服務器停機。類似地,如果在Web設計過程中沒有進行加密或其他安全措施,那么可以很容易地使用包嗅探器來捕獲純文本用戶id和密碼。幾幾乎所有第2層和第3層攻擊(如數(shù)據(jù)包洪泛,SYN洪泛等)都可能在網(wǎng)站IP和其所在的端口上。
HTTP DoS攻擊
與基于網(wǎng)絡的拒絕服務攻擊不同,HTTP DoS攻擊在第7層工作。在這種類型的攻擊中,網(wǎng)站以編程的方式爬行獲取要訪問的頁面列表,在此期間攻擊者還記錄服務器處理每個頁面所需的時間。選擇需要更高處理時間的頁面,并將多個HTTP請求發(fā)送到Web服務器,每個請求請求其中一個所選頁面。
為了滿足每個請求,Web服務器開始消耗資源。 達到資源限制后,最終放棄并停止響應。眾所周知,攻擊者使用簡單的腳本創(chuàng)建大量的HTTP GET請求來實現(xiàn)此攻擊。如果網(wǎng)站只包含簡單的靜態(tài)HTML頁面,那么這種攻擊就不會很有效。但是,如果動態(tài)頁面從后端數(shù)據(jù)庫服務器中提取數(shù)據(jù),那么這種攻擊就會造成相當大的損害。
雖然它可能或不會導致數(shù)據(jù)竊取,但它肯定會關(guān)閉網(wǎng)站,造成用戶體驗不良,并損害聲譽。必須部署智能技術(shù)來檢測和停止此類攻擊,我們將很快了解這些攻擊。