OWASP 網頁伺服器 w3af WAF 資安 漏洞 安全 弱點

自助掃描web應用弱點 用w3af揪出網頁程式漏洞

2014-02-23
在網路的應用服務中,應用最廣的除了E-mail服務之外,就屬Web服務的應用了。對於企業而言,網站往往代表企業的形象。一旦企業網站發生安全上的漏洞,除了有形的損失外,對於無形的商譽損失更是難以估計,也因此網站安全也愈顯重要。
Security Misconfiguration(不安全的安全組態設定)

這歸因於系統的管理不當所造成的安全漏洞。在開源碼日漸風行的現在,最常見的例子即是,使用者下載相關的軟體如有名的AppServ(微軟系統的網站伺服器解決方案)軟體後,即根據「下一步」動作將相關軟體安裝完成,測試功能正常後,就直接上線而未再做進一步的組態調整(使用系統預設的組態)。

但事實上,在類似的軟體內通常都會有預設帳號…帳號或其他在實際上線時建議應該刪除的檔案(如第一次安裝時所使用的安裝檔案,這些資訊通常都會寫在軟體的README或INSTALL檔案內來提醒使用者)或開發時期所使用的偵錯(在Debug模式下,當系統出現問題時會很詳細地告知相關問題所在的資訊),在上線後即應轉換為Release模式(此正常模式僅會提供少許或完全不提供相關的系統資訊)。諸如此類的問題,皆歸類為不安全的安全組態設定所造成的漏洞。

Sensitive Data Exposure(敏感資訊外洩)

通常在系統中都會有許多的敏感性的資料,例如帳號、密碼、個人資料等等,這些資訊如果沒有透過適當地加密保護,就有可能在傳輸過程中或在系統內部被無適當權限的使用者所存取而造成敏感資訊外洩的問題。最常見的例子為網頁程式在傳輸機敏資料時,未採用適當的加密方法(如HTTPS)傳送,而依舊使用正常的HTTP通訊協定來傳送。由於HTTP通訊協定均是採用未加密(明碼)的方式連線,於是惡意的攻擊者在資料傳輸的任何一個節點中均可利用Sniffer(竊聽)方式來取得傳輸資料。倘若網站採用HTTP通訊協定來傳遞資訊,則來往的封包均以明碼方式傳輸,惡意使用者即可輕易地取得相關的機敏資訊。

Missing Function Level Access Control(不安全的功能控管)

此漏洞是延伸OWASP 2010版中的「Failure to Restrict URL Access(未適當限制的URL存取)」的漏洞,並給與一個更精準的名稱。網頁程式與一般的應用程式最大的不同在於,應用程式的程式進入點只有一個地方,因此只要將相關的控管程序寫在進入點的位置即可控管整個系統。但是網頁程式具有超連結的特性,使用者不需要經過權限控管程式,也能存取到系統中的其他程式。因此,對於需要控管的網頁程式必須個別再加上控管的機制,如果未加上相關控管機制,那其他使用者即可輕易地使用該程式而造成安全漏洞。

Cross Site Request Forgery(CSRF,跨網站冒名請求)

從某種角度來看,CSRF可視為廣義的跨網站攻擊(X.S.S),但CSRF通常是在使用者已登入系統服務下發動攻擊。例如,在討論區中的某段留言塞進一段可直接登出(Logout)的惡意程式碼,當使用者登入後,在瀏覽相關留言時,只要瀏覽到這段留言,即會觸發該段惡意程式碼,而直接將使用者登出,此即為CSRF攻擊。

Using Known Vulnerable Components(使用有已知安全漏洞的模組或元件)

隨著軟體開發技術的精進,大多數的程式功能通常都能做成元件或函式庫,以供程式設計師在開發應用程式時不必事必躬親地重複撰寫相同的程式,而能發揮再利用(Reuse)的功能。也因此,現今開發應用程式也大量的運用第三方的元件或函式庫來加快開發的進度。但是往往這些元件也具備某些安全漏洞,一旦使用這些有安全漏洞的元件來開發應用程式,即繼承了相關漏洞,而讓系統處於相關漏洞的安全隱憂中。

Unvalidated Redirects and Forwards(未驗證的網頁重新導向)

此種漏洞又稱為轉址漏洞。在網站內可以常見許多超連結,或者利用事件觸發的方式幫使用者重新導往其他網站或是前往其他頁面的功能。如果程式未對此參數進行驗證,可能會導致惡意攻擊者將惡意的網址入到重新導向的參數中,而讓不知情的使用者連結到惡意的網站上,甚至直接下載惡意的攻擊Script碼。

w3af說明

w3af(Web Application Attack and Audit Framework)是一套由Python語言所撰寫的Web弱點掃描軟體。採用Plugin(外掛程式)的方式來加入相關掃描功能。只要新增相關的Plugin程式即可增加Web弱點的掃描能力。並提供圖形介面與命令介面提供使用者使用。

以下簡單說明相關Plugin的功能。w3af主要是由四個核心的模組所組成,如圖2所示。而w3af基本的思考流程如下:


▲圖2 w3af是由四個核心的模組所構成。
  • 1. 利用Discovery中提供的Plugin來尋找相關的網頁(URL)注入點。
  • 2. 尋找完成後,再利用Audit中所提供的Plugin來測試驗證是否有相關的漏洞
  • 3. 接著利用Attack模組所提供的Plugin,實際地攻擊測試相關的漏洞。
  • 4. 最後,利用Output模組中的Plugin將相關的結果輸出成報表(提供HTML、TXT等格式)
Discovery

此模組(在最新的版本中,此模組已被更名為Crawl)主要是用來尋找待測網站可能有漏洞的位置(URL),即所謂的注入點,所提供的Plugin如表1所示。

表1 Discovery模組所提供的Plugin

Audit

此模組主要是用來測試相關位置(URL)是否具有漏洞。Audit模組所提供的常用Plugin如表2所示。

表2 Audit模組所提供的Plugin


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!