Web應用程序和服務的增長已超越了程序開發人員所接受的安全培訓和安全意識的范圍。Web應用系統的安全風險達到了前所未有的高度。本文詳細剖析了Web應用中的常見漏洞及攻擊方式,全面分析Web應用系統的安全風險。
Web應用系統是由操作系統和Web應用程序組成的。許多程序員不知道如何開發安全的應用程序,他們沒有經過安全編碼的培訓。他們的經驗也許是開發獨立應用程序或企業 Web應用程序,這些應用程序沒有考慮到在安全缺陷被利用時可能會出現災難性後果。
Web應用的大多數安全問題都屬於下面三種類型之一:
◆服務器向公眾提供了不應該提供的服務,導致存在安全隱患。
◆服務器把本應私有的數據放到了公開訪問的區域,導致敏感信息洩露。
◆服務器信賴了來自不可信賴數據源的數據,導致受到攻擊。
許多Web服務器管理員從來沒有從另一個角度來看看他們的服務器,沒有對服務器的安全風險進行檢查,例如使用端口掃描程序進行系統風險分析等。如果他們曾經這樣做了,就不會在自己的系統上運行那麼多的服務,而這些服務原本無需在正式提供Web服務的機器上運行,或者這些服務原本無需面向公眾開放。另外他們沒有修改對外提供服務的應用程序的banner信息,使攻擊者容易獲取到Web服務器對外提供應用程序的相關版本信息,並根據信息找到相對應的攻擊方法和攻擊程序。
許多Web應用程序容易受到通過服務器、應用程序和內部已開發的代碼進行的攻擊。這些攻擊行動直接繞過了周邊防火牆安全措施,因為端口80或 443(SSL,安全套接字協議層)必須開放,以便讓應用程序正常運行。Web應用安全存在非法輸入、失效的訪問控制、失效的賬戶和線程管理、跨站腳本攻擊、緩沖區溢出、注射攻擊、異常錯誤處理、不安全的存儲、拒絕服務攻擊、不安全的配置管理等問題。Web應用程序攻擊包括對應用程序本身的DoS(拒絕服務)攻擊、改變網頁內容、SQL注入、上傳Webshell以及獲取對Web服務的控制權限等。
總之,Web應用攻擊之所以與其他攻擊不同,是因為它們很難被發現,而且可能來自任何在線用戶,甚至是經過驗證的用戶。Web應用攻擊能繞過防火牆和入侵檢測產品的防護,企業用戶無法發現存在的Web安全問題。