馬青山
摘要:目前,ASP木馬的攻擊與防護問題引起了人們越來越廣泛地關注。在實踐中,我們要采取各項切實有效的措施,加強ASP木馬的實效性。具體而言,我們既要控制上傳,又要防范SQL注入;既要進行服務器設置,又要形成良好的編程習慣。
關鍵詞:ASP木馬網絡安全
近些年,隨著社會經濟以及網絡技術的不斷發展,ASP木馬的攻擊與防護問題引起了人們越來越廣泛地關注。在新的網絡環境中,人們對瀏覽網絡工具、管理頁面、交互頁面等都提出了更高的要求。在這種情況下,各類基于腳本語言技術開發的網站呈現出不斷上升的趨勢。然而,這種趨勢的背后卻埋藏著巨大的網絡安全隱患。網站的后門工具Webshell的數量在不斷增加,功能也在不斷強大。在實踐中,Webshell可以穿越防火墻的阻礙,進而實現控制網站服務器的目的。這是它最大的優點,同時也是我們克服的最大難點。目前,ASP技術給人們帶來了諸多便利,但是,ASP木馬卻給人們帶來了諸多煩惱。如何做好ASP木馬的防護工作,是我們不得不面對的一項重點課題和難點課題。基于以上的論述,本文從Webshell的內涵與分類、ASP木馬工作原理、ASP木馬防范三個角度,對該問題進行了深入地分析與研究。
1、Webshell的內涵與分類
簡單地說,webshell就是網絡入侵者控制網站服務器的一種腳本攻擊工具。它的基本流程是這樣的:網絡入侵者入侵一個網站后,經常會將各種木馬后門文件放在網站服務器的web目錄內,使其與正常的網頁文件攪混在一起。然后,網絡入侵者可以通過這些木馬后門文件控制網站服務器,進行下載文件、執行任意程序、查看數據庫等操作。Webshell有很強的隱蔽性,這是它的一個顯著特點。在入侵過程中,由于webshell與網站服務器或遠程主機通過80端口傳遞數據,而這種傳遞不會被防火墻所攔截。所以,它可以順利地穿越防火墻,實現入侵的目的。
根據動態腳本的不同,Webshell會有不同的分類。現如今,Webshell主要有ASP、JSP和PHP三種腳本類型。據調查研究資料顯示,目前國內網站大多采用SQLServer或ASP+Access類型,比例高達70%左右;其次是PHP+Mysql類型,比例達20%左右;而其它類型的使用率還不足10%。在現實中,因為ASP具有開發簡單、功能強大等優點,所以它具有很強的市場占有率。具體而言,它不僅可以使復雜的Web應用程序變得簡單化,而且可以自身創建各種Web頁或Web應用程序。因此,現如今,ASP技術的應用廣度和深度都在不斷增大,越來越多的人通過這些技術來經營或維護自身的網站。
2、ASP木馬的工作原理
通俗地講,ASP木馬就是一些能夠在服務器端運行的文件。它通過ASP提供的組件,獲取了各種網站服務器信息;并通過添加、修改、移動、刪除文件的形式,實現了控制網站服務器的目的。ASP技術的功能非常強大,方便人們遠程控制網站服務器。但是,在提供便利的同時,它也給網絡入侵者提供了使用ASP木馬入侵網站服務器的機會。與傳統的木馬程序相比,ASP木馬程序具有極強的隱蔽性和復雜性。
ASP木馬本來是一種管理程序,起初只是為了管理網站。但是,隨著其管理功能的不斷強大,ASP木馬的管理內容更加寬泛,可以管理網站服務器端的諸多內容。在實踐中,它的工作原理非常清晰,就是通過一些組件實現對網站服務器的管理,實現對文件或文件夾的添加、修改、移動、刪除等諸多操作。目前,ASP木馬比較常用的組件有FSO、WSCIPT、SHELL幾種。
3、ASP木馬的防范
概括起來講,目前,我國經常采用的ASP木馬的防范措施有以下幾種:
第一,要控制上傳。
眾所周知,ASP是一種后門程序,在Web服務器端運行。因此,我們只有在上傳ASP木馬以后,它才有發揮作用的條件。我們要想防范ASP木馬,可以通過控制上傳入手。具體而言,一方面,我們如果有條件,就盡量用FTP方式上傳文件,并盡量不要安裝ASP程序;另一方面,我們如果必須采用ASP方式上傳文件,就要加強對ASP上傳程序的身份認證,并要對上傳文件進行嚴格的格式過濾。
第二,要防范SQL注入。
SQL注入既是一種漏洞,又是一種攻擊方式。它的產生方式有很多,如變量處理不當、數據過濾不足等等。而在現實中,ASP木馬就是通過用戶修改或提交的這些數據來實施入侵的。具體而言,它通過SQL語句的插入,實現獲取敏感信息或控制網站服務器的目的。這樣,如果網絡入侵者SQL注入成功,就能獲得權限較高的用戶名與密碼,進而上傳木馬或控制網站服務器。針對這個問題,在實踐中,我們可以將一些傳遞參數驗證加入到網頁中,這樣可以有效地防止信息出錯。
第三,要進行服務器設置。
通過上文論述,我們不難發現,ASP木馬通過FSO、WSCIPT、SHELL三種組件來實施具體的網絡入侵。從理論上講,我們如果禁用了這幾種服務,就可以消除ASP木馬的侵害。但是,現實情況并非如此,這些組件,特別是FSO組件,是編程程序中必不可少的組件。因此,禁用辦法是根本不可行的。在實踐中,我們只能采取比較折中的辦法,如修改組件名稱方式、修改其調用方式等等。具體而言,我們可以采用修改FileSystemObject組件和修改Wscript.shell組件的辦法,來加強服務器設置工作。
第四,要形成良好的編程習慣。
實踐證明,良好的編程習慣是防止ASP木馬入侵的一項非常有效的手段。為了發揮這種手段的功效,我們可以采取這樣幾項措施:一是要從安全的角度編寫程序代碼,避免SQL注入;二是要盡量杜絕用戶名與口令的程序出現在ASP文件中,而要將其封裝在服務器端;三是要給予數據庫連接地用戶名與口令最小的權限。
4、結語
綜上所述,ASP木馬的防范是一項非常系統的工程。我們要想將該項工作做好,就要重點做好這樣幾項工作:首先,我們要對webshell的內涵與分類以及ASP木馬的工作原理有一個清晰的認識;其次,我們要對目前ASP木馬防范中存在的問題有一個準確的分析;最后,我們要采取各項切實有效的措施,增強ASP木馬防范的實效性。
參考文獻
[1]余曉永.ASP木馬的原理與防范實踐[J].宿州學院學報,2008,23(2).
[2]陳小兵,于濱.ASP木馬漏洞安全防范策略[J].河北理工學院學報,2006,28(2).
[3]尚修杰.網絡程序設計ASP[M].北京:交通大學出版杜,2010.