
文章插圖
一、什么叫文件上傳漏洞文件上傳是WEB開發(fā)中一項(xiàng)基本的功能,是指將本地文檔、視頻、音頻、圖片等文件上傳到服務(wù)器上,以便自己或其他用戶下載或?yàn)g覽的過程,如論壇發(fā)圖片、發(fā)微信朋友圈、發(fā)微博等都用到了上傳功能 。
文件上傳漏洞是指程序員在WEB應(yīng)用中利用客戶端上傳功能控制、檢測(cè)、處理的不足,通過向WEB服務(wù)器上傳特定的可執(zhí)行文件(如木馬、Web?Shell、病毒、惡意腳本等)以達(dá)到獲取關(guān)鍵數(shù)據(jù)操控主機(jī)的目的 。
文件上傳漏洞的危害WEB應(yīng)用開發(fā)人員在實(shí)現(xiàn)文件上傳功能過程中,如果沒有對(duì)文件格式、后綴嚴(yán)格校驗(yàn),WEB中存在文件上傳漏洞,攻擊者可能利用此漏洞直接上傳病毒、木馬、釣魚圖片、包含了腳本的圖片、惡意腳本文件、WebShell等,再通過訪問這些惡意的腳本中的惡意代碼,最終可能會(huì)導(dǎo)致用戶信息泄露,被釣魚、欺詐,甚至使攻擊者可以直接上傳WebShell到服務(wù)器,進(jìn)而得到自己想要的信息和權(quán)限,最終達(dá)到對(duì)數(shù)據(jù)庫(kù)執(zhí)行、服務(wù)器文件管理、服務(wù)器命令執(zhí)行等惡意操作,甚至完全控制服務(wù)器系統(tǒng),在服務(wù)器系統(tǒng)中為所欲為 。
二、文件上傳漏洞檢測(cè)技術(shù)分析目前,針對(duì)文件上傳漏洞WEB開發(fā)和服務(wù),管理人員也加入了文件上傳檢測(cè)機(jī)制,大致有客戶端腳本檢測(cè)、服務(wù)器端文件擴(kuò)展名檢測(cè)、服務(wù)器端內(nèi)容檢測(cè)、服務(wù)端Content-Type類型檢測(cè)、服務(wù)端path參數(shù)檢測(cè)等 。
1、客戶端腳本檢測(cè)這類檢測(cè)通常是在上傳頁(yè)面里添加特定的檢測(cè)上傳文件擴(kuò)展名的代碼,通過判斷擴(kuò)展名是否合法,從客戶端檢測(cè)控制上傳文件的安全性 。但對(duì)于這種檢測(cè)方法,專業(yè)的攻擊者可以通過將需要上傳的惡意代碼文件類型改為允許上傳的類型,很輕松地躲過文件上傳的檢測(cè) 。例如:將hack.php改為hack.jpg上傳,配置BurpSuite代理進(jìn)行抓包,然后再將文件名hack.jpg改為hack.php 。
2、服務(wù)器端文件擴(kuò)展名檢測(cè)在服務(wù)器端對(duì)文件擴(kuò)展名進(jìn)行檢測(cè)就是設(shè)置黑名單或白名單[6,7],即黑名單是禁止特定擴(kuò)展名的文件上傳,白名單是僅允許指定擴(kuò)展名的文件上傳 。服務(wù)器端檢測(cè)包括了Content-Type檢測(cè)、黑名單檢測(cè)、白名單檢測(cè)等 。
Content-Type檢測(cè)是在用戶提交上傳文件時(shí)驗(yàn)證是否為要求的文件類型,如果是允許上傳,如果不是則禁止上傳 。這種檢測(cè)方法可以通過抓包來(lái)修改Http開頭的Content-Type輕松繞過 。
服務(wù)器端的黑名單檢測(cè)往往是把常見的危險(xiǎn)文件的擴(kuò)展名放在一個(gè)文件中(如execombatdlljsvbsphphtmlaspcer等等),當(dāng)客戶端上傳文件時(shí),對(duì)上傳文件的擴(kuò)展名進(jìn)行過濾,如果上傳的文件擴(kuò)展名在黑名單中則不允許上傳 。這種檢測(cè)方式看似可以有效地防止危險(xiǎn)文件上傳,但限制不夠全面(如IIS默認(rèn)支持解析aspcdxasacer等文件類型),攻擊者通常還可以利用擴(kuò)展名的大小寫(如上傳.Php)、特殊文件名(如“.exe空格”)、名單列表繞過(如上傳黑名單中不存在的擴(kuò)展名文件)等方式完成攻擊 。
白名單檢測(cè)是在服務(wù)器端指定允許上傳文件的擴(kuò)展名,如果上傳文件的擴(kuò)展名在指定的范圍內(nèi),允許上傳,否則禁止上傳 。顯然,白名單檢測(cè)要比黑名單過濾安全性高 。在白名單檢測(cè)中,攻擊者可以使用%00、0x00、0x0a等截?cái)嗬@過白名單檢測(cè)(如上傳photo.jpg,BurpSuite抓包,將文件名改為photo.php%00.jpg,選中%00,進(jìn)行urldecode),或使用雙寫擴(kuò)展名繞過白名單檢測(cè)(如photo.php.jpg) 。
3、服務(wù)器端文件內(nèi)容檢測(cè)服務(wù)器端文件內(nèi)容檢測(cè)是指當(dāng)服務(wù)器接收到用戶上傳文件后,通過檢測(cè)文件函數(shù)、文件相關(guān)信息、文件渲染等方式驗(yàn)證文件的合法性,如果合法則允許上傳,否則禁止上傳[8,9] 。針對(duì)文件內(nèi)容檢測(cè),攻擊者可以通過制作的圖片馬進(jìn)行繞過(burp?suit改包或者copy1.jpg/b+2.php/a3.jpg生成圖片馬或者直接用別人做好的圖片馬) 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 講解teamviewer激活該復(fù)選框 teamviewer激活碼分享
- 講解nodejs與js區(qū)別 nodejs寫后端優(yōu)缺點(diǎn)
- 講解oracle建立用戶及授權(quán) 正版oracle授權(quán)購(gòu)買
- 足球進(jìn)攻戰(zhàn)術(shù)大講解
- 使用代理ip上網(wǎng)的方法 代理上網(wǎng)服務(wù)器搭建教程
- 講解篤怎么讀拼音 篤怎么讀
- 自己搭建cdn服務(wù)器方法 服務(wù)器cdn加速服務(wù)
- 微軟賬戶的windows產(chǎn)品密鑰 windows激活產(chǎn)品密鑰是多少
- 被遠(yuǎn)程控制的電腦怎么設(shè)置 電腦被遠(yuǎn)程控制怎么辦
- 氣功虛實(shí)的大講解
