應(yīng)用服務(wù)器安全防范技術(shù)
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,*,*,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,主講人:昆明理工大學 付湘瓊 版權(quán)所有,第五章 應(yīng)用服務(wù)器安全防范技術(shù),信息網(wǎng)絡(luò)安全培訓,本章學習目標,學習完本章,您應(yīng)該能夠:,WEB服務(wù)器入侵分析,WEB服務(wù)器漏洞評估和分析,WEB應(yīng)用程序漏洞掃描和評估,FTP服務(wù)器入侵分析,安全電子郵件服務(wù)器配置,本章學習重點,常規(guī)的WEB服務(wù)器入侵方法,WEB應(yīng)用程序漏洞掃描和評估,FTP服務(wù)器入侵分析,安全電子郵件服務(wù)器(垃圾郵件),本章內(nèi)容提要,常規(guī)的WEB服務(wù)器入侵方法,WEB應(yīng)用程序漏洞掃描和評估,FTP服務(wù)器入侵分析,WEB服務(wù)器,常見漏洞介紹,WEB服務(wù)器存在的主要漏洞包括,物理路徑泄露,,,CGI源代碼泄露,,,目錄遍歷,,,執(zhí)行任意命令,,,緩沖區(qū)溢出,,,拒絕服務(wù),,,條件競爭,和,跨站腳本執(zhí)行,漏洞,和CGI漏洞有些相似的地方,但是更多的地方還是有著本質(zhì)的不同。不過無論是什么漏洞,都體現(xiàn)著安全是一個整體的真理,考慮WEB服務(wù)器的安全性,必須要考慮到與之相配合的操作系統(tǒng)。,WEB服務(wù)器常見漏洞介紹,【物理路徑泄露】,物理路徑泄露一般是由于WEB服務(wù)器處理用戶請求出錯導致的,如通過提交一個超長的請求,或者是某個精心構(gòu)造的特殊請求,亦或是請求一個WEB服務(wù)器上不存在的文件。這些請求都有一個共同特點,那就是被請求的文件肯定屬于CGI腳本,而不是靜態(tài)HTML頁面。,還有一種情況,就是WEB服務(wù)器的某些顯示環(huán)境變量的程序錯誤的輸出了,WEB服務(wù)器的物理路徑,,這應(yīng)該算是設(shè)計上的問題。,WEB服務(wù)器常見漏洞介紹,【CGI源代碼泄露】,CGI源代碼泄露的原因比較多,例如大小寫,編碼解碼,附加特殊字符或精心構(gòu)造的特殊請求等都可能導致CGI源代碼泄露。,【目錄遍歷】,目錄遍歷對于WEB服務(wù)器來說并不多見,通過對任意目錄附加“./”,或者是在有特殊意義的目錄附加“./”,或者是附加“./”的一些變形,如“.”或“./”甚至其編碼,都可能導致目錄遍歷。前一種情況并不多見,但是后面的幾種情況就常見得多,去年非常流行的IIS二次解碼漏洞和UNICODE解碼漏洞都可以看作是變形后的編碼。,WEB服務(wù)器常見漏洞介紹,【執(zhí)行任意命令】,執(zhí)行任意命令即執(zhí)行任意操作系統(tǒng)命令,主要包括兩種情況。一是通過遍歷目錄,如二次解碼和UNICODE解碼漏洞,來執(zhí)行系統(tǒng)命令。另外一種就是WEB服務(wù)器把用戶提交的請求作為SSI指令解析,因此導致執(zhí)行任意命令。,【緩沖區(qū)溢出】,緩沖區(qū)溢出漏洞想必大家都很熟悉,無非是WEB服務(wù)器沒有對用戶提交的超長請求沒有進行合適的處理,這種請求可能包括超長URL,超長HTTPHeader域,或者是其它超長的數(shù)據(jù)。這種漏洞可能導致執(zhí)行任意命令或者是拒絕服務(wù),這一般取決于構(gòu)造的數(shù)據(jù)。,WEB服務(wù)器常見漏洞介紹,【拒絕服務(wù)】,拒絕服務(wù)產(chǎn)生的原因多種多樣,主要包括超長URL,特殊目錄,超長HTTPHeader域,畸形HTTPHeader域或者是DOS設(shè)備文件等。由于WEB服務(wù)器在處理這些特殊請求時不知所措或者是處理方式不當,因此出錯終止或掛起。,正常的拒絕服務(wù)攻擊。,【條件競爭】,這里的條件競爭主要針對一些管理服務(wù)器而言,這類服務(wù)器一般是以system或root身份運行的。當它們需要使用一些臨時文件,而在對這些文件進行寫操作之前,卻沒有對文件的屬性進行檢查,一般可能導致重要系統(tǒng)文件被重寫,甚至獲得系統(tǒng)控制權(quán)。,常規(guī)的WEB服務(wù)器入侵實例,緩沖器溢出,CGI漏洞,SQL注入,CGI源代碼泄漏(Inc文件泄露),暴力破解,釣魚攻擊,DNS欺騙,緩沖區(qū)/,堆,堆棧溢出,技,技術(shù),如果計算,機,機程序的,編,編碼沒有,對,對緩沖區(qū),做,做適當?shù)?檢,檢查,看,它,它們是否,能,能完全裝,入,入新的數(shù),據(jù),據(jù)內(nèi)容,,結(jié),結(jié)果就可,能,能造成緩,沖,沖區(qū)溢出,的,的產(chǎn)生。,入侵者用精心編寫,的,的入侵代,碼,碼使緩沖區(qū),溢,溢出,并,將,將被調(diào)用,的,的過程的返回地址覆蓋為入侵者所,希,希望運行,的,的那段代,碼,碼的地址,這樣當,該,該過程返,回,回時,程,序,序就開始,執(zhí),執(zhí)行入侵,者,者設(shè)定的,代,代碼了。,遠程緩沖,區(qū),區(qū)溢出類,別,別:Exploits,緩沖區(qū)溢,出,出演示W(wǎng)ebDAV,WebDAV(Web 分,布,布式創(chuàng)作,和,和版本控,制,制)是一,種,種通過HTTP,將,將內(nèi)容,發(fā),發(fā)布到IIS,服,服務(wù)器(IIS5 或IIS6)或從IIS,服,服務(wù)器,發(fā),發(fā)布內(nèi)容,的,的方法。,由,由于 WebDAV 基于RFC,并,并且是,通,通過 HTTP,實,實現(xiàn)的,,它,它不需要,進,進行任何,修,修改就可,以,以通過大,多,多數(shù)防火,墻,墻。這樣,,,,您不需,要,要使用專,門,門的協(xié)議,(,(例如FTP),或,或?qū)iT的COM,對,對象就,可,可以發(fā)布,到,到 Web 服務(wù),器,器和從Web,服,服務(wù)器進,行,行發(fā)布。,緩沖區(qū)溢,出,出演示W(wǎng)ebDAV,IIS5.0 默,認,認提供了,對,對WebDAV的,支,支持,通,過,過WebDAV可,以,以通過HTTP向,用,用戶提供,遠,遠程文件,存,存儲的服,務(wù),務(wù)。但是,作,作為普通,的,的HTTP服務(wù)器,,,,這個功,能,能不是必,需,需的IIS 5.0包含的WebDAV組件,不,不充分檢,查,查傳遞給,部,部分系統(tǒng),組,組件的數(shù),據(jù),據(jù),遠程,攻,攻擊者利,用,用這個漏,洞,洞對WebDAV,進,進行緩沖,區(qū),區(qū)溢出攻,擊,擊,,可能以WEB進程,權(quán),權(quán)限在系,統(tǒng),統(tǒng)上執(zhí)行,任,任意指令,。,IIS5.0的WebDAV使用,了,了ntdll.dll中的,一,一些函數(shù),,,,而這些,函,函數(shù)存在,一,一個緩沖,區(qū),區(qū)溢出漏,洞,洞。通過,對,對WebDAV的,畸,畸形請求,可,可以觸發(fā),這,這個溢出,。,。,成功利用,這,這個漏洞,可,可以獲得LocalSystem權(quán),限,限。這意,味,味著,入,侵,侵者可以,獲,獲得主機,的,的完全控,制,制能力。,WEBDAV 防,范,范,IIS,沒,沒有內(nèi)置,的,的基于每,個,個站點啟,用,用或禁用WebDAV,的,的方法。,在,在 IIS 5,中,中,默認,情,情況下會,為,為所有網(wǎng),站,站啟用WebDAV。要,禁,禁用它,,請,請使用URLScan,阻,阻止傳入,的,的 WebDAV,請,請求(,默,默認情況,下,下阻止),。,。您也可,以,以參考知,識,識庫文章,如,如何對IIS5.0,禁,禁用 WebDAV。對于IIS6,使,用,用 IIS 管理,器,器中的Web,服,服務(wù)擴展,節(jié),節(jié)點即可,啟,啟用或禁,用,用 WebDAV,。,。默認情,況,況下,IIS 6,中,中禁用WebDAV。,系統(tǒng)漏洞,Unicode解,碼,碼目錄遍,歷,歷漏洞,IISUnicode解,碼,碼目錄遍,歷,歷漏洞,發(fā)布日期,:,:2000/10/20,影響的系,統(tǒng),統(tǒng):MicrosoftIIS4.0/5.0,對于IIS 5.0/4.0中文版,,,,當IIS收到的URL請,求,求的文件,名,名中包含,一,一個特殊,的,的編碼例,如,如“%c1%hh,”,”或者“%c0%hh”,它,它會首先,將,將其解碼,變,變成:0 xc10 xhh,,然,然后嘗試,打,打開這個,文,文件,Windows系統(tǒng),認,認為0 xc10 xhh可能,是,是unicode,編,編碼,因,此,此會首先,將,將其解碼,,,,如果0 x00=%hh (0 xc1-0 xc0)*0 x40+0 xhh,%c0%hh-(0 xc0-0 xc0)*0 x40+0 xhh,%c1%1c-(0 xc1-0 xc0)*0 x40+0 x1c=0 x5c=/,系統(tǒng)漏洞,Unicode解,碼,碼目錄遍,歷,歷漏洞,攻擊者可,以,以利用這,個,個漏洞來,繞,繞過IIS的路徑,檢,檢查,去,執(zhí),執(zhí)行或者,打,打開任意,的,的文件。,RainForestPuppy 測試,發(fā),發(fā)現(xiàn)對于,英,英文版的IIS4.0/5.0,此問題同,樣,樣存在,,只,只是編碼,格,格式略有,不,不同,變,成,成%c0%af或者%c1%9c.,CGI漏,洞,洞,Unicode解,碼,碼目錄遍,歷,歷漏洞,CGI漏,洞,洞,Unicode解,碼,碼目錄遍,歷,歷漏洞,CGI漏,洞,洞,Unicode解,碼,碼目錄遍,歷,歷漏洞,利用這樣,的,的方法我,們,們可以建,立,立.bat.txt.asp.htm.html 等,文,文件,這,對,對于一個,存,存在這漏,洞,洞的網(wǎng)站,可,可以說是,致,致命打擊,的,的開始。,尤,尤其是,能,能寫.bat文件,,,,如果我,們,們在autoexe.bat里面加,入,入formatdel等,命,命令時。,結(jié),結(jié)果會如,何,何?,常用使用,增,增加用,戶,戶 使用TFTP,下,下載后門,程,程序等。,CGI漏,洞,洞,防范:,給系統(tǒng)打,補,補丁,關(guān)閉不需,要,要的腳本,和,和服務(wù),用 CGI腳本編,寫,寫的程序,當,當涉及到,遠,遠程用戶,從,從瀏覽器,中,中輸入表,格,格(form),并,并進行,象,象檢索(Search index)或form-mail之,類,類在主機,上,上直接操,作,作命令時,,,,或許,會,會給WEB主機系,統(tǒng),統(tǒng)造成危,險,險。,因此,從CGI角,度,度考慮WEB的安,全,全性,主,要,要是在編,制,制程序時,,,,應(yīng)詳細,考,考慮到安,全,全因素。,盡,盡量避免CGI程,序,序中存在,漏,漏洞。,CGI源,代,代碼泄漏,:,:Inc,文,文件泄露,攻擊原理,:,:,當存在ASP(動,態(tài),態(tài)網(wǎng)頁,PHP),的,的主頁正,在,在制作且,沒,沒有進行,最,最后調(diào)試,完,完成以前,,,,可以被,某,某些搜索,引,引擎機動,追,追加為搜,索,索對象。,如,如果這時,候,候有人利,用,用搜索引,擎,擎對這些,網(wǎng),網(wǎng)頁進行,查,查找,會,得,得到有關(guān),文,文件的定,位,位,并能,在,在瀏覽器,中,中查看到,數(shù),數(shù)據(jù)庫地,點,點和結(jié)構(gòu),的,的細節(jié),,并,并以此揭,示,示完整的,源,源代碼。,CGI源,代,代碼泄漏,:,:Inc,文,文件泄露,實例 inc 泄,漏,漏,BAK文,件,件泄漏,Inc文,件,件泄露,防,防范,程序員應(yīng),該,該在網(wǎng)頁,發(fā),發(fā)布前對,它,它進行徹,底,底的調(diào)試;安全專,家,家則需要,加,加固ASP文件以,便,便外部的,用,用戶不能,看,看到它們,。,。首先對.inc,文,文件內(nèi)容,進,進行加密,,,,其次也,可,可以使用.asp,文,文件代替.inc,文,文件使用,戶,戶無法從,瀏,瀏覽器直,接,接觀看文,件,件的源代,碼,碼。Inc文件的,文,文件名不,要,要使用系,統(tǒng),統(tǒng)默認的,或,或者有特,殊,殊含義容,易,易被用戶,猜,猜測到的,名,名稱,盡,量,量使用無,規(guī),規(guī)則的英,文,文字母。,用IIS,解,解析INC文件,刪除備份,文,文件,去掉目錄,瀏,瀏覽功能,SQLInjection入侵,SQL注,入,入,SQLInjection入侵實,例,例,輸入:or1=1,如果(,1=1 or,a=PASSWORD),那么,可以進入,系,系統(tǒng),否則,哼哼,Q,SQLInjection,判斷數(shù)據(jù),庫,庫類型,http:/192.168.7.122/hacker/detail.asp?id=1and(selectcount(*)from sysobjects)=0,sqlserver,成,成功,http:/192.168.7.122/hacker/detail.asp?id=1and(selectcount(*)from msysobjects)=0,這個,可,可以不一,定,定,一般,判,判斷是否