基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建

上傳人:冷*** 文檔編號:22326684 上傳時間:2021-05-24 格式:DOCX 頁數(shù):4 大?。?5.35KB
收藏 版權(quán)申訴 舉報 下載
基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建_第1頁
第1頁 / 共4頁
基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建_第2頁
第2頁 / 共4頁
基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建_第3頁
第3頁 / 共4頁

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建》由會員分享,可在線閱讀,更多相關(guān)《基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建(4頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、基于ASP上傳源碼的漏洞分析及解決策略的創(chuàng)建  中圖分類號:TP393 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2012)33-7899-04   隨著基于ASP 技術(shù)建立的動態(tài)網(wǎng)站越來越多,由于網(wǎng)站的交互功能,導(dǎo)致ASP木馬被上傳至網(wǎng)站的可能性也越來越大。而ASP木馬與正常的ASP文件并無本質(zhì)不同,夾雜在正常ASP文件中難以分辨。當(dāng)服務(wù)器被上傳ASP木馬并執(zhí)行后,黑客可以對文件進(jìn)行創(chuàng)建、修改、刪除、上傳、下載,服務(wù)器數(shù)據(jù)毫無安全可言。ASP木馬甚至可以運(yùn)行命令行程序,創(chuàng)建用戶賬號,安裝后門程序,利用系統(tǒng)漏洞可將用戶權(quán)限提升為管理員權(quán)限,其高度的隱蔽性和難查殺性,對網(wǎng)站的安全造成了嚴(yán)

2、重的威脅。   所謂上傳漏洞是指利用程序開發(fā)者在開發(fā)過程中的一些漏洞,將ASP、JSP、PHP等格式的木馬上傳至網(wǎng)站目錄內(nèi),進(jìn)而取得WEBSHELL,甚至管理員權(quán)限的一種方法?!τ谏蟼髀┒吹姆治龊脱芯浚瑧?yīng)該從上傳文件的文件路徑(FilePath)和文件名稱(FileName)的源代碼兩個方面入手。   1 文件路徑(FilePath)上傳漏洞分析   文件路徑(FilePath)上傳漏洞主要是由于上傳文件的路徑(FILEPath)過濾不嚴(yán)引起的。比如動網(wǎng)程序、動易程序等上傳文件的源碼都存在這類漏洞,而且采用這種上傳方式的網(wǎng)站大有人在,在此分析一下其部分源碼:   在這段源碼中,最關(guān)鍵

3、的就這兩句:   ◆formPath=upload.form("filepath")   ◆filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&fileExt   下面來看一下上傳漏洞是如何形成的。在第一句代碼中,從變量filepath中獲取文件的保存路徑,然后在第二句中,用路徑變量formPath加隨機(jī)生成的數(shù)字及經(jīng)過判斷的擴(kuò)展名合成為一個新的變量,這個變量Filename就是上傳文件保存的路徑及名

4、稱。比如選擇"a.jpg";文件上傳,在上傳過程中,隨文件一起上傳的還有一個FilePath變量,假設(shè)其值為"image";,當(dāng)這些值傳到upfile.asp中,filename就變成了"image/201210190820944973.jpg";,上傳成功后,該a.jpg就被保存到image文件夾內(nèi),文件名字也被改成了"201210190820944973.jpg";。   這是設(shè)計者的想法,似乎無懈可擊。但細(xì)細(xì)研究,就會發(fā)現(xiàn)問題,其突破點(diǎn)就在變量身上。如果將FilePath值改為"image/b.asp_";("_";表示二進(jìn)制的00的意思),這樣,該變量提交入upfile.asp后,F(xiàn)

5、ilename值就變成了"image/b.asp_/201210190820944973.jpg";,服務(wù)器在讀取這段變量時,因為"_";是二進(jìn)制的00,認(rèn)為該變量語句已經(jīng)結(jié)束了,于是"_";后面的字符也就被忽略掉了,這樣一來Filename就成了"image/b.asp";,程序再用file.SaveAs進(jìn)行保存,這個文件就保存成了b.asp文件,這種上傳文件路徑(FilePath)漏洞就出現(xiàn)了,隨之而來的嚴(yán)重后果在此就不分析了。   2 文件名稱(FileName)上傳漏洞分析   文件名稱(FileName)上傳漏洞主要是上傳文件名稱(FileName)過濾不嚴(yán)謹(jǐn)造成的。筆者收集并閱

6、讀了大量的上傳程序源碼,發(fā)現(xiàn)上傳文件名稱過濾不嚴(yán)的形式是多種多樣的,但其核心問題的表現(xiàn)形式基本差不多,在此以一段最典型的代碼進(jìn)行分析說明,其部分源碼如下:   上面代碼中正常運(yùn)行所涉及到參數(shù)主要包括:   ◆FixName()函數(shù),其接下來的源碼為:   從上面代碼可以看出,系統(tǒng)中asp.dll文件映射的類型(asp、asa、cer、cdx、htr、shtml等)全部被過濾了,除此之外,還有小數(shù)點(diǎn)、單引號也被過濾,甚至連Chr(0)都過濾了(這兒的Chr(0)是16進(jìn)制的00,表示為二進(jìn)制是00000000,就是前面在文件路徑上傳漏洞中大顯神通的空字符)。   ◆CheckFileEx

7、t()函數(shù),源碼形式為:   這個函數(shù)對經(jīng)過FixName()函數(shù)審核后的文件擴(kuò)展名再次判斷,共有三次檢查。第一次是判斷傳遞來的文件擴(kuò)展名是否為空;第二次是判斷文件擴(kuò)展名是否屬于asp、asa等四種禁止傳的文件類型;第三次就是用該擴(kuò)展名同后臺自定義的上傳擴(kuò)展名進(jìn)行對比,符合就允許上傳。   下面上傳一個文件來看其流程。比如上傳文件為"c.cer";,用"FileExt = FixName(File.FileExt)";過濾這個文件時,因為cer屬于fixName()函數(shù)的過濾范圍,所以擴(kuò)展名cer就成了空。當(dāng)把這個空的擴(kuò)展名傳遞給CheckFileExt()函數(shù),在其進(jìn)行到"If File

8、Ext=""or IsEmpty(FileExt)";語句時,就會因為FileExt為空而退出交互,拒絕上傳。   這種設(shè)計思路,多重的判斷的審核,好像非常嚴(yán)謹(jǐn),但是只要認(rèn)真琢磨,一樣會發(fā)現(xiàn)問題,其突破點(diǎn)就在FixName()函數(shù)中。從上面上傳"c.cer";文件時我們知道,"cer";會被過濾為空,但如果我們把上傳文件擴(kuò)展名改為ccerer,同時在后臺自定義上傳類型中增加"ccerer";、"cer";。這樣,擴(kuò)展名為ccerer的文件在經(jīng)過第一步FixName()函數(shù)過濾后,變成了cer(中間的cer字符被過濾為空),傳遞此值到CheckFileExt()函數(shù)時,可以通過第一個關(guān)卡(擴(kuò)展

9、名不為空),再通過第二個限制類型的關(guān)卡,最后到對比后臺上傳類型關(guān)卡,順利通過CheckFileExt()的三次的判斷,并給定CheckFileExt = True,這樣就把這個擴(kuò)展名ccerer的文件上傳到服務(wù)器中了,并且上傳后的擴(kuò)展名是"cer";。由于cer文件同asp文件一樣,可以被執(zhí)行,這就是典型的文件名稱(FileName)上傳漏洞了。  在此,有讀者可能會問:如果上傳擴(kuò)展名為aaspsp_或aaspsp.格式的文件,經(jīng)過FixName()函數(shù)的過濾,變成了asp_或asp.文件,而這兩種格式同樣不在限制的范圍,只要在后臺中加上這幾種類型,是不是就可以把上傳的文件保存為asp格式?

10、經(jīng)過筆者仔細(xì)研究分析,發(fā)現(xiàn)事實并不是這樣。先說小數(shù)點(diǎn),在FixName()中,有這么一句:FixName = Replace(FixName,".",""),將小數(shù)點(diǎn)過濾為空,所以aaspsp.這條路就斷了。再來看空格,雖然FixName()中沒有過濾空格,但在CheckFileExt()讀取后臺上傳類型時有這么一句:"If FileExt = Trim(Forumupload(i)) Then ";,其中有個Trim(),Trim的作用是刪除字符串開始和尾部的空格。雖然在后臺能寫入了asp_類型,但在讀取時,卻會被Trim()過濾成asp,而aaspsp_通過層層關(guān)卡到了此處,已變成了asp

11、_,同樣被拒絕上傳。   3 解決對策與方案   通過前面對上傳漏洞產(chǎn)生原理的詳細(xì)分析,我們很容易得到解決此類問題的思路,主要應(yīng)該從源代碼的編寫、非法上傳的文件檢測查殺以及服務(wù)器配置這三個方面進(jìn)行解決。由于上文已經(jīng)對上傳文件名稱(FileName)漏洞和上傳文件路徑(FilePath)漏洞的源碼進(jìn)行了分析,所以從源代碼入手解決這類漏洞,在此不再作詳述,只要大家針對上述問題對代碼略作補(bǔ)丁,使源代碼過濾更加嚴(yán)格就可解決此類問題,下面主要從另外二個角度進(jìn)行分析。   3.1 對上傳文件進(jìn)行檢測查殺   其解決的原理是:不管別人是利用何種漏洞,上傳至服務(wù)器的文件我們一律給以檢測,判斷上傳的圖片

12、格式是否合法。即:判斷該文件是否符合圖像的規(guī)范,如果是木馬偽裝的圖片肯定是不合法的,然后用FSO刪除即可。這兒結(jié)合著代碼,給大家解析:   以上的代碼表明,假設(shè)你利某種漏洞,"合理";地將該"偽圖像";文件上傳了,而我們接著再使用自定義函數(shù)來對此"偽圖像";文件進(jìn)行甄別,判斷該文件是否符合圖像的規(guī)范,若符合圖像的規(guī)范則通過,若是木馬偽裝的圖像文件則FSO做出刪除該文件的操作,以此來達(dá)到阻止木馬文件上傳目的。   3.2 對服務(wù)器進(jìn)行優(yōu)化配置   這是假設(shè)我們無法阻止asp木馬文件上傳至服務(wù)器,那么應(yīng)該對IIS進(jìn)行規(guī)范設(shè)置,對訪問用戶權(quán)限進(jìn)行嚴(yán)謹(jǐn)分配,對重要文件夾(易被asp木馬上傳的目的

13、文件夾)進(jìn)行充分限權(quán),讓上傳進(jìn)來的asp木馬無用武之地。   1)規(guī)范設(shè)置IIS   在IIS的運(yùn)用程序配置中,刪除不需要的程序映射,這是避免因為過濾不夠被攻擊者上傳了某些特殊類型的木馬進(jìn)行攻擊的辦法。應(yīng)當(dāng)只留下.asp、.asa、.aspx三個映射,去掉.cer、.config等其他映射。這樣,就是別人傳上去了.cer等格式文件,也是一種無用的木馬。   2)嚴(yán)控訪問權(quán)限   互聯(lián)網(wǎng)用戶一般都以"Internet來賓賬戶";訪問Web站點(diǎn)的,因此嚴(yán)格控制Internet來賓賬戶的訪問權(quán)限是非常重要的。應(yīng)該在Web站點(diǎn)必要的目錄,去掉"執(zhí)行";權(quán)限,即將執(zhí)行權(quán)限改為"無";,也就是這個

14、目錄下的文件,只能讀取,不能運(yùn)行。尤其是上傳目錄,比如UploadFiles這樣的目錄,還有圖片目錄,一定要設(shè)置為只讀。這樣設(shè)置以后,黑客即使利用安全漏洞上傳了ASP木馬,但由于沒有執(zhí)行權(quán)限而無法運(yùn)行,同樣可以起到保護(hù)的作用。   3)隱藏或刪除無關(guān)組件   為防范ASP木馬對服務(wù)器操作系統(tǒng)的入侵,可以刪除或隱藏不安全的組件。ASP木馬利用的常用組件分別是:FileSystemObject組件、WScript.Shell組件、Shell.Application組件、WScript.Network組件等,對于不需要的組件可以用RegSrv32/u命令刪除,需要的組件可以通過修改注冊表將組件改

15、名,同樣可以阻止ASP木馬上傳的作用。   4 結(jié)束語   總之,ASP木馬程序在管理員嚴(yán)格的權(quán)限控制之下,是可以防范的。我們要從源代碼編寫這個源頭入手,對上傳文件進(jìn)行嚴(yán)格審核,并及時更新系統(tǒng)補(bǔ)丁,嚴(yán)格控制"Internet來賓帳戶";訪問權(quán)限,盡可能避免ASP木馬被非法上傳,通過細(xì)致的網(wǎng)站目錄執(zhí)行權(quán)限控制,避免大部分ASP木馬的運(yùn)行,采用不安全組件的隱藏、刪除及訪問權(quán)限設(shè)置,可以將ASP木馬運(yùn)行后的危害大大降低。嚴(yán)格、綜合、全面的權(quán)限體系將使黑客利用ASP木馬入侵Web站點(diǎn)的陰謀無法輕易得手。   參考文獻(xiàn):   【1】 張明.ASP建網(wǎng)策略與案例.北京:科學(xué)出版社,2011.   【2】 杜方冬,吳珊,胡宇峰.徹底捍衛(wèi)數(shù)據(jù)安全.濟(jì)南:山東電子音像出版社,2011.   【3】 張濤,胡銘曾,云曉春.計算機(jī)網(wǎng)絡(luò)安全性分析建模研究.通信學(xué)報,2011,26(12):100-109.

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!