范義山
【摘 要】網(wǎng)頁木馬對網(wǎng)站的安全構(gòu)成嚴(yán)重威脅,然而網(wǎng)頁木馬又具有較高的隱蔽性。因此識別網(wǎng)頁木馬并了解其入侵方式,及時(shí)堵塞網(wǎng)站安全漏洞,是我們網(wǎng)站管理員必須要掌握的。詳細(xì)介紹了網(wǎng)頁木馬的形式,入侵原理、經(jīng)常利用的漏洞并給出了防范措施。
【關(guān)鍵詞】網(wǎng)頁木馬;入侵;漏洞;防范
1 網(wǎng)頁木馬概述
網(wǎng)頁木馬是基于B/S結(jié)構(gòu)的網(wǎng)頁腳本,通常由asp、php、jsp、 javascript等腳本語言編寫,以網(wǎng)頁文件形式或偽裝成圖片等其他文件形式存在的一種命令執(zhí)行環(huán)境,也可以稱為一種網(wǎng)頁后門。它和其它網(wǎng)頁程序并沒有本質(zhì)區(qū)別,和其它網(wǎng)頁程序的區(qū)別僅僅在于網(wǎng)頁木馬是入侵者上傳到目標(biāo)空間,并幫助入侵者控制目標(biāo)空間的網(wǎng)頁程序。
網(wǎng)頁木馬按文件大小和功能劃分為“小馬”和“大馬”,小馬的文件比較小,甚至只需要一句話,功能也比較簡單,但是很關(guān)鍵,雖然只有很簡單的一句或幾句話,但是可以通過它把功能強(qiáng)大,體積較大的“大馬”文件上傳到服務(wù)器,從而控制網(wǎng)站,甚至控制服務(wù)器。如常用的asp小馬只有<%execute request(“value”)%>、<%eval request(“value”)%>等一句話,其中value是值,入侵者自己定義。入侵者知道小馬的URL和自己定義的value,就可以通過它把“大馬”文件上傳到服務(wù)器,進(jìn)而控制網(wǎng)站或服務(wù)器。
網(wǎng)頁木馬隱蔽性非常好。它們或嵌套在正常網(wǎng)頁中運(yùn)行,或偽裝成圖片或壓縮文件等,有的雖然是單獨(dú)的一個(gè)網(wǎng)頁腳本,但看起來和正常的網(wǎng)頁程序沒有區(qū)別,不容易被發(fā)現(xiàn)。網(wǎng)頁木馬入侵時(shí)和正常的網(wǎng)頁一樣是通過80端口傳遞數(shù)據(jù),因此不會(huì)被防火墻攔截。同時(shí),使用網(wǎng)頁木馬一般不會(huì)在系統(tǒng)日志中留下記錄,只會(huì)在網(wǎng)站的web目志中留下一些數(shù)據(jù)提交記錄,很難發(fā)現(xiàn)入侵痕跡。
2 網(wǎng)頁木馬入侵步驟
網(wǎng)頁木馬入侵的一般步驟為:
(1)掃目錄。黑客入侵網(wǎng)站,一般第一件事就是掃目錄,如果掃到網(wǎng)站有上傳點(diǎn),直接上傳木馬,很多asp網(wǎng)站的上傳點(diǎn)很容易猜到。
(2)通過漏洞向網(wǎng)站寫入“小馬”。
(3)“小馬”代碼被網(wǎng)站執(zhí)行。
(4)通過木馬客戶端連接“小馬”。
(5)上傳“大馬”進(jìn)一步控制網(wǎng)站。
(6)配合“大馬”進(jìn)行提權(quán)。
(7)完全控制服務(wù)器。
3 網(wǎng)頁木馬上傳常用漏洞
3.1 上傳漏洞
因過濾上傳文件不嚴(yán)或其它漏洞,導(dǎo)致黑客可以直接上傳Web Shell到網(wǎng)站可寫目錄中,從而拿到網(wǎng)站的管理員控制權(quán)限。譬如老版本的fckeditor編輯器的上傳組件存在公開的漏洞,可以上傳任意格式的文件,只要短短幾分鐘,一個(gè)小馬就可以上傳到服務(wù)器。
3.2 SQL注入漏洞
由于程序沒有過濾用戶的輸入,攻擊者通過向服務(wù)器提交惡意的SQL查詢語句,應(yīng)用程序接收后錯(cuò)誤的將攻擊者的輸入作為原始SQL查詢語句的一部分執(zhí)行,導(dǎo)致改變了程序原始的SQL查詢邏輯,額外的執(zhí)行了攻擊者構(gòu)造的SQL查詢語句。SQL注入漏洞可以用來從數(shù)據(jù)庫獲取敏感信息,或者利用數(shù)據(jù)庫的特性執(zhí)行添加用戶,導(dǎo)出文件等一系列惡意操作,甚至有可能獲取數(shù)據(jù)庫乃至系統(tǒng)最高權(quán)限。
3.3 添加上傳文件類型漏洞
有些網(wǎng)站后臺(tái)允許添加上傳類型,由此很容易被黑客利用,譬如ewebeditor在線編輯器。eWebEditor提供了后臺(tái)登錄,如果沒有更改其默認(rèn)登錄用戶名及密碼,那么就可通過掃描器掃描其登錄后臺(tái),添加上傳文件類型,利用其上傳功能將包含一句話木馬的文件或者ASP木馬上傳到網(wǎng)站,然后運(yùn)行其進(jìn)行入侵攻擊。
3.4 后臺(tái)數(shù)據(jù)庫備份及恢復(fù)功能漏洞
主要是利用后臺(tái)對access數(shù)據(jù)庫的“備份數(shù)據(jù)庫”或“恢復(fù)數(shù)據(jù)庫”功能,“備份的數(shù)據(jù)庫路徑”等變量沒有過濾導(dǎo)致可以把任意文件后綴改為asp,從而得到 Web Shell。
3.5 IIS解析漏洞
在網(wǎng)站下建立名字為 *.asp、*.asa 的文件夾,其目錄內(nèi)的任何擴(kuò)展名的文件都被IIS當(dāng)作asp文件來解析并執(zhí)行。例如創(chuàng)建目錄vidun.asp,那么/vidun.asp/1.jpg將被當(dāng)作asp文件來執(zhí)行。
網(wǎng)站上傳圖片的時(shí)候,將網(wǎng)頁木馬文件的名字改成“*.asp;.jpg”,也同樣會(huì)被IIS當(dāng)作asp文件來解析并執(zhí)行。例如上傳一個(gè)圖片文件,名字叫“vidun.asp;.jpg”的木馬文件,該文件可以被當(dāng)作asp文件解析并執(zhí)行。
4 網(wǎng)頁木馬的防范
4.1 查找并堵塞網(wǎng)站漏洞
一切入侵活動(dòng)皆依賴漏洞,如果網(wǎng)站不存在漏洞,那么就不會(huì)被寫入木馬。堵塞漏洞關(guān)鍵的是要知道黑客常用的入侵方式和經(jīng)常利用的漏洞,筆者在前文已經(jīng)做了介紹,網(wǎng)站管理者應(yīng)針對這些漏洞進(jìn)行測試,對于網(wǎng)站存在的漏洞,通過編程使其完善。
使用工具可以較快的發(fā)現(xiàn)網(wǎng)站的漏洞,然后進(jìn)行修補(bǔ)。利用御劍后臺(tái)掃描、wwwscan等網(wǎng)站漏洞掃描工具,可以檢查網(wǎng)站是否存在上傳點(diǎn),后臺(tái)目錄是否獨(dú)特,是否能被黑客發(fā)現(xiàn);利用IBM Rational AppScan、啊D、明小子、網(wǎng)站安全狗等工具可以檢查網(wǎng)站是否存在SQL注入點(diǎn)。
根據(jù)網(wǎng)站服務(wù)器上面查找到的木馬和網(wǎng)站日志,反推木馬上傳方式,查找網(wǎng)站安全漏洞,并進(jìn)行測試、修補(bǔ)和完善。
4.2 合理設(shè)置訪問權(quán)限
網(wǎng)站的訪問權(quán)限應(yīng)該做嚴(yán)格的限制。不需要寫操作的文件或文件夾設(shè)置為只讀,需要寫操作的文件或文件夾賦予讀寫權(quán)限,但不允許執(zhí)行權(quán)限。
4.3 限制開放功能函數(shù)和組件
網(wǎng)站應(yīng)該盡量少開放甚至不開放功能函數(shù),如php的popen()、exec()、passthru()、system();而對于asp的網(wǎng)站,應(yīng)限制Wscript.shell組件的使用。
4.4 過濾數(shù)據(jù)
網(wǎng)站系統(tǒng)對用戶提交的所有數(shù)據(jù)應(yīng)該進(jìn)行某些特殊符號的轉(zhuǎn)義,如單引號、反斜杠、尖括號等;對于網(wǎng)站留言和注冊功能,應(yīng)對用戶提交的數(shù)據(jù)進(jìn)行過濾,替換一些危險(xiǎn)的代碼。
4.5 提高安全意識
不使用默認(rèn)的數(shù)據(jù)庫路徑和默認(rèn)的管理員密碼;設(shè)置盡量獨(dú)特的后臺(tái)目錄結(jié)構(gòu);涉及用戶名與口令的代碼最好封裝在服務(wù)器端;涉及到與數(shù)據(jù)庫連接的用戶名與口令給予最小的權(quán)限;需要經(jīng)過驗(yàn)證的頁面,跟蹤上一個(gè)頁面的文件名,只有從上一頁面轉(zhuǎn)進(jìn)來的會(huì)話才能讀取這個(gè)頁面;檢查html在線編輯器及其它具有上傳功能的軟件模塊是否存在上傳漏洞;為網(wǎng)站配置可靠的防注入程序,在數(shù)據(jù)庫中限制字符的類型和長度。
4.6 數(shù)據(jù)庫的安全設(shè)置
嚴(yán)格設(shè)置數(shù)據(jù)庫的寫入操作;隱藏網(wǎng)站的數(shù)據(jù)庫,不讓攻擊者知道數(shù)據(jù)庫文件的鏈接地址;在數(shù)據(jù)庫連接文件中加入(下轉(zhuǎn)第227頁)(上接第79頁)容錯(cuò)代碼等,防止暴庫;數(shù)據(jù)庫進(jìn)行防下載處理。
4.7 日常多維護(hù)
定期備份網(wǎng)站源碼及數(shù)據(jù)庫文件,當(dāng)發(fā)現(xiàn)被入侵,及時(shí)修復(fù)網(wǎng)站源碼內(nèi)容。
定期全面檢查網(wǎng)站文件,根據(jù)文件夾及其文件屬性(名稱、大小、文件類型、修改時(shí)間等)判斷哪些文件及文件夾最近被修改過。通過比較修改時(shí)間來檢查是否有非法用戶上傳文件。
啟用并審核Web站點(diǎn)日志記錄,查看是否有非法上傳文件、SQL 注入等,及時(shí)發(fā)現(xiàn)和排除可疑文件。
使用D盾_web查殺軟件,可以較快的在海量的源文件代碼中查找隱藏在正常文件里的后門,極大的減少追查網(wǎng)頁木馬的工作量。
利用Macromedia Dreamweaver和操作系統(tǒng)自帶的搜索功能,對木馬的關(guān)鍵字搜索,比如<%eval request( )%>等,也可以發(fā)現(xiàn)部分網(wǎng)頁木馬。
【參考文獻(xiàn)】
[1]安曉瑞.ASP網(wǎng)站中asp一句話木馬的安全性問題及防范措施的研究[J].首都師范大學(xué)學(xué)報(bào):自然科學(xué)版,2014.
[2]羅澤林,陳思亮,張貴洲,謝喬,莊小妹.網(wǎng)頁木馬的攻擊與防范[J].電腦知識與技術(shù),2014.
[3]博客園 IIS解析漏洞[OL]. http://www.cnblogs.com/xiaoyuyu/archive/2013/02/01/2889535.html
[責(zé)任編輯:鄧麗麗]