一 前言
Microsoft Active Server Pages(ASP)是伺服器端指令碼編寫環境,使用它可以建立和運行動態、互動的 Web 服務器應用程式。使用 ASP 可以組合 HTML 頁 、指令碼命令和 ActiveX 組件以建立互動的 Web 頁和基於 Web 的功能強大的應用程式。
現在很多網站特別是電子商務方面的網站,在前台上大都用ASP來實現。以至於現在ASP在網站應用程式上很普遍。
ASP是開發網站應用程式的快速工具,但是有些網站管理員只看到ASP的快速開發能力,卻忽視了ASP安全問題。ASP從一開始就一直受到眾多漏洞,後門的困擾,包括%81的噩夢,密碼驗證問題,IIS漏洞等等都一直使ASP網站開發人員心驚膽跳。
本文試圖從開放了ASP服務的作業系統漏洞和ASP程式本身漏洞,闡述ASP安全問題,並給出解決方案或者建議。
二 關鍵字
ASP,網路安全,IIS,SSL,加密。
三 ASP工作機理
Active Server Page技術為應用開發商提供了基於指令碼的直觀、快速、高效的應用開發手段,極大地提高了開發的效果。在討論ASP的安全性問題之前,讓我們來看看ASP是怎麼工作的。ASP指令碼是採用明文(plain text)方式來編寫的。
ASP指令碼是一系列按特定文法(目前支援vbscript和jscript兩種指令碼語言)編寫的,與標準HTML頁面混合在一起的指令碼所構成的文字格式設定的檔案。當用戶端的終端使用者用WEB瀏覽器通過INTERNET來訪問基於ASP指令碼的應用時,WEB瀏覽器將向WEB伺服器發出HTTP請求。WEB伺服器分析、判斷出該請求是ASP指令碼的應用後,自動通過ISAPI介面調用ASP指令碼的解釋運行引擎(ASP.DLL)。ASP.DLL將從檔案系統或內部緩衝區擷取指定的ASP指令檔,接著就進行文法分析並解釋執行。最終的處理結果將形成HTML格式的內容,通過WEB伺服器“原路”返回給WEB瀏覽器,由WEB瀏覽器在用戶端形成最終的結果呈現。這樣就完成了一次完整的ASP指令碼調用。若干個有機的ASP指令碼調用就組成了一個完整的ASP指令碼應用。
讓我們來看看運行ASP所需的環境:
Microsoft Internet Information Server 3.0/4.0/5.0 on NT Server
Microsoft Internet Information Server 3.0/4.0/5.0 on Win2000
Microsoft Personal Web Server on Windows 95/98
WINDOWS NT Option Pack所帶的Microsoft IIS提供了強大的功能,但是IIS在網路安全方面卻是比較危險的。因為很少有人會用Windows 95/98當伺服器,因此本文我更多的從NT中的IIS安全問題來探討。