4、服務器解析漏洞(1)IIS解析漏洞IIS7.0后對之前版本的漏洞進行了修復,但在IIS7.0后的服務中開啟Fast-CGI狀態(tài),服務器在解析URL地址時,會將xxx.jpg/xxx.php解析為PHP文件 。這也會使攻擊者用此繞過服務器的檢測 。同時,在Windows操作系統(tǒng)中,文件名不能以空格或“.”開頭,也不能以空格或“.”結(jié)尾 。當把一個文件命名為以空格或“.”開頭或結(jié)尾時,會自動地去掉開頭和結(jié)尾處的空格和“.” 。利用此特性,也可能造成“文件解析漏洞” 。
(2)Apache解析漏洞
Apache解析文件的規(guī)則是從右至左開始判斷解析,如果遇到不可識別文件后綴時,Apache解析就再往左判斷 。例如:hack.php.cde.abc,“.cde”和“.abc”這兩種后綴是apache在解析時不可識別的,apache在解析時就會把hack.php.cde.abc解析成為hack.php 。
Apache解析漏洞(CVE-2017-15715),在Apache2.4.0到2.4.29版本配置文件中的php解析表達式存在可以匹配字符串結(jié)尾的換行符漏洞,攻擊者可以利用”%0A”繞過上傳黑名單上傳文件 。
(3)nginx解析漏洞在nginx8.03以下的版本也存在和IIS7一樣的漏洞,Nginx默認也是以CGI的方式支持PHP解析的,服務器在解析URL地址時,會將xxx.jpg/xxx.php解析為PHP文件 。還有一種方法是上傳一個名字為hello.jpg,文件內(nèi)容為:<?php fputs(fopen(‘hack.php’,’w’),'<?php eval($_POST[cmd])?>’);?> 。然后訪問hello.jpg/.php,在這個目錄下就會生成一個木馬文件hack.php 。
三、文件上傳漏洞防御策略針對以上可能出現(xiàn)的文件上傳漏洞,應該從WEB應用的開發(fā)、WEB容器、服務平臺的配置管理、WEB服務器運維、網(wǎng)絡安全設備運維等多方面打造立體式的文件上傳漏洞防御體系,如圖1所示 。
1、WEB應用開發(fā)階段防御WEB應用開發(fā)過程中雖然在客戶端對上傳文件進行JS檢測可以被專業(yè)的攻擊者很容易突破,但對一般的攻擊者而言,還是可以對基礎性的試探起到一定的防御效果 。在服務器端對文件類型的檢查可以使用MIMEType、后綴檢查等多種方式結(jié)合,在檢查過程中強烈推薦使用白名單方式進行過濾,黑名單的方式已經(jīng)無數(shù)次被證明是不可靠的 。同時還需對%00截斷符、對HTTP包頭的Content-Type和上傳文件的大小進行檢查 。
此外,對于圖片的處理,可以使用resize函數(shù)或壓縮函數(shù)對圖片進行預處理,在處理圖片的過程中破壞圖片中可能包含的惡意代碼 。在服務器接收文件時,使用隨機數(shù)改寫文件名和文件路徑 。攻擊者要么執(zhí)行上傳文件中的代碼,首先他要訪問到這個文件,通過使用隨機數(shù)改變上傳后的文件名和路徑,會導致攻擊者找不到上傳的文件,而無法進行攻擊 。
2、WEB服務器端防御在WEB服務器端文件上傳的目錄應設置為不可執(zhí)行 。通過對WEB容器設置不可執(zhí)行權限,即使攻擊者上傳了含有惡意的腳本文件,也會因為不能解析執(zhí)行而無法發(fā)動攻擊 。在WEB服務器端為文件服務器單獨設置域名 。由于瀏覽器同源策略的關系,一系列客戶端攻擊將失效,比如上傳crossdomain.xml、上傳包含Javascript的XSS利用等問題都將得到解決 。在服務器端增加安全設備WAF 。WAF是專門的WEB應用安全設備,可以對WEB應用程序客戶端的各類請求進行內(nèi)容檢測和驗證,確保其安全性與合法性,對非法的請求予以實時阻斷,通過對漏洞的上傳利用行為和惡意文件的上傳過程檢測,從而達到有效防御的目的 。
3、WEB運維人員防御隨著技術的不斷進步,隱藏的攻擊手法不斷推陳出新,惡意文件也在千變?nèi)f化,WEB服務運行后,WEB的運維人員就變得尤為重要 。運維人員應有較強的安全意識,在平時的運維過程中,經(jīng)常使用安全檢測工具對WEB系統(tǒng)進行安全掃描,及時發(fā)現(xiàn)潛在漏洞并修復 。定時查看系統(tǒng)日志,通過查看WEB服務器日志以發(fā)現(xiàn)入侵痕跡 。
以上關于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關的問題,請您及時就醫(yī)或請專業(yè)人士給予相關指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 講解teamviewer激活該復選框 teamviewer激活碼分享
- 講解nodejs與js區(qū)別 nodejs寫后端優(yōu)缺點
- 講解oracle建立用戶及授權 正版oracle授權購買
- 足球進攻戰(zhàn)術大講解
- 使用代理ip上網(wǎng)的方法 代理上網(wǎng)服務器搭建教程
- 講解篤怎么讀拼音 篤怎么讀
- 自己搭建cdn服務器方法 服務器cdn加速服務
- 微軟賬戶的windows產(chǎn)品密鑰 windows激活產(chǎn)品密鑰是多少
- 被遠程控制的電腦怎么設置 電腦被遠程控制怎么辦
- 氣功虛實的大講解
