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