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