欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解析文件上傳漏洞 從FCKEditor文件上傳漏洞談起

  發(fā)布時間:2016-11-02 15:41:45   作者:佚名   我要評論
大部分的用戶可能不要了解文件上傳漏洞,下面小編就為大家具體的講解什么事文件上傳漏洞以及文件上傳漏洞的幾種方式

文件上傳漏洞就是允許用戶上傳任意文件可能會讓攻擊者注入危險內(nèi)容或惡意代碼,并在服務(wù)器上運行,下面小編就為大家具體的講解文件上傳漏洞的知識,希望可以幫助到大家。

文件上傳后導(dǎo)致的常見安全問題一般有:

1)上傳文件是Web腳本語言,服務(wù)器的Web容器解釋并執(zhí)行了用戶上傳的腳本,導(dǎo)致代碼執(zhí)行。

2)上傳文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在該域下的行為(其他通過類似方式控制策略文件的情況類似);

3)上傳文件是病毒、木馬文件,黑客用以誘騙用戶或者管理員下載執(zhí)行。

4)上傳文件是釣魚圖片或為包含了腳本的圖片,在某些版本的瀏覽器中會被作為腳本執(zhí)行,被用于釣魚和欺詐。

除此之外,還有一些不常見的利用方法,比如將上傳文件作為一個入口,溢出服務(wù)器的后臺處理程序,如圖片解析模塊;或者上傳一個合法的文本文件,其內(nèi)容包含了PHP腳本,再通過"本地文件包含漏洞(Local File Include)"執(zhí)行此腳本;等等。

要完成這個攻擊,要滿足以下幾個條件:

首先,上傳的文件能夠被Web容器解釋執(zhí)行。所以文件上傳后所在的目錄要是Web容器所覆蓋到的路徑。

其次,用戶能夠從Web上訪問這個文件。如果文件上傳了,但用戶無法通過Web訪問,或者無法得到Web容器解釋這個腳本,那么也不能稱之為漏洞。

最后,用戶上傳的文件若被安全檢查、格式化、圖片壓縮等功能改變了內(nèi)容,則也可能導(dǎo)致攻擊不成功。

一、從FCKEditor文件上傳漏洞談起

FCKEditor是一款非常流行的富文本編輯器,為了方便用戶,它帶有一個文件上傳功能,但是這個功能卻出過多次漏洞。

FCKEditor針對ASP/PHP/JSP等環(huán)境都有對應(yīng)的版本,以PHP為例,其文件上傳功能在:

配合解析漏洞。

(一)IIS5.x-6.x解析漏洞

使用iis5.x-6.x版本的服務(wù)器,大多為windows server 2003,網(wǎng)站比較古老,開發(fā)語句一般為asp;該解析漏洞也只能解析asp文件,而不能解析aspx文件。

目錄解析(6.0)

形式:www.xxx.com/xx.asp/xx.jpg

原理: 服務(wù)器默認會把.asp,.asp目錄下的文件都解析成asp文件。

文件解析

形式:www.xxx.com/xx.asp;.jpg

原理:服務(wù)器默認不解析;號后面的內(nèi)容,因此xx.asp;.jpg便被解析成asp文件了。

解析文件類型

IIS6.0 默認的可執(zhí)行文件除了asp還包含這三種 :

/test.asa

/test.cer

/test.cdx

(二)apache解析漏洞

漏洞原理

Apache 解析文件的規(guī)則是從右到左開始判斷解析,如果后綴名為不可識別文件解析,就再往左判斷。比如test.php.qwe.asd “.qwe”和”.asd” 這兩種后綴是apache不可識別解析,apache就會把wooyun.php.qwe.asd解析成php。

漏洞形式

www.xxxx.xxx.com/test.php.php123

其余配置問題導(dǎo)致漏洞

(1)如果在 Apache 的 conf 里有這樣一行配置 AddHandler php5-script .php 這時只要文件名里包含.php 即使文件名是 test2.php.jpg 也會以 php 來執(zhí)行。

(2)如果在 Apache 的 conf 里有這樣一行配置 AddType application/x-httpd-php .jpg 即使擴展名是 jpg,一樣能以php 方式執(zhí)行。

修復(fù)方案

1.apache配置文件,禁止.php.這樣的文件執(zhí)行,配置文件里面加入

2.用偽靜態(tài)能解決這個問題,重寫類似.php.*這類文件,打開apache的httpd.conf找到LoadModule rewrite_module modules/mod_rewrite.so

把#號去掉,重啟apache,在網(wǎng)站根目錄下建立.htaccess文件

(三)nginx解析漏洞

漏洞原理

Nginx默認是以CGI的方式支持PHP解析的,普遍的做法是在Nginx配置文件中通過正則匹配設(shè)置SCRIPT_FILENAME。當(dāng)訪問www.xx.com/phpinfo.jpg/1.php這個URL時,$fastcgi_script_name會被設(shè)置為“phpinfo.jpg/1.php”,然后構(gòu)造成SCRIPT_FILENAME傳遞給PHP CGI,但是PHP為什么會接受這樣的參數(shù),并將phpinfo.jpg作為PHP文件解析呢?這就要說到fix_pathinfo這個選項了。 如果開啟了這個選項,那么就會觸發(fā)在PHP中的如下邏輯:

PHP會認為SCRIPT_FILENAME是phpinfo.jpg,而1.php是PATH_INFO,所以就會將phpinfo.jpg作為PHP文件來解析了

漏洞形式

www.xxxx.com/UploadFiles/image/1.jpg/1.php

www.xxxx.com/UploadFiles/image/1.jpg%00.php

www.xxxx.com/UploadFiles/image/1.jpg/%20\0.php

另外一種手法:上傳一個名字為test.jpg,然后訪問test.jpg/.php,在這個目錄下就會生成一句話木馬shell.php。

(四)IIS7.5解析漏洞

IIS7.5的漏洞與nginx的類似,都是由于php配置文件中,開啟了cgi.fix_pathinfo,而這并不是nginx或者iis7.5本身的漏洞。

5.配合操作系統(tǒng)文件命令規(guī)則

(1)上傳不符合windows文件命名規(guī)則的文件名

test.asp.

test.asp(空格)

test.php:1.jpg

test.php:: $DATA

會被windows系統(tǒng)自動去掉不符合規(guī)則符號后面的內(nèi)容。

如圖訪問ip/Netsys/HtmlEdit/fckeditor/editor/filemanager/connectors/test.html

點擊Create Folder新建文件夾

用brup suite進行改包,將%2F改為a.asp。

點擊Get Folders獲得文件夾。

上傳文件,我這里上傳了一句話圖片木馬,然后能看到上傳的路徑,訪問的是1.asp/FI201610191827336199.jpg,會被當(dāng)作asp執(zhí)行,用菜刀連接getshell。

二、繞過文件上傳檢查功能

一般都是通過文件名后綴檢查。但是在某些時候,攻擊者手動修改了上傳過程中的POST包,在文件名后添加一個%00字節(jié)額,則可以截斷某些函數(shù)對文件名的判斷。因為在許多語言的函數(shù)中,比如在C、PHP等語言的常用字符串處理函數(shù)中,0x00被認為是終止符。受此影響的環(huán)境有Web應(yīng)用和一些服務(wù)器。比如應(yīng)用原本只允許上傳JPG圖片,那么可以構(gòu)造文件名為xxx.php[\0].JPG,其中[\0]為十六進制的0x00字符,.JPG繞過了應(yīng)用的上傳文件類型判斷;但對于服務(wù)器來說,此文件因為0x00字符截斷的關(guān)系,最終卻變成了xxx.php。

1.客戶端校驗

一般都是在網(wǎng)頁上寫一段javascript腳本,校驗上傳文件的后綴名,有白名單形式也有黑名單形式。

判斷方式:在瀏覽加載文件,但還未點擊上傳按鈕時便彈出對話框,內(nèi)容如:只允許上傳.jpg/.jpeg/.jpg?www.dbjr.com.cn后綴名的文件,而此時并沒有發(fā)送數(shù)據(jù)包。

客戶端繞過

可以利用burp抓包改包,先上傳一個gif類型的木馬,然后通過burp將其改為asp/php/jsp后綴名即可。

2.服務(wù)端校驗

2.1 content-type字段校驗

文件類型繞過

我們可以通過抓包,將content-type字段改為image/gif

2.2 文件頭校驗

可以通過自己寫正則匹配,判斷文件頭內(nèi)容是否符合要求,這里舉幾個常見的文件頭對應(yīng)關(guān)系:

(1) .JPEG;.JPE;.JPG,”JPGGraphic File”

(2) .gif,”GIF 89A”

(3) .zip,”Zip Compressed”

(4) .doc;.xls;.xlt;.ppt;.apr,”MS Compound Document v1 or Lotus Approach APRfile”

文件頭繞過

在木馬內(nèi)容基礎(chǔ)上再加了一些文件信息,有點像下面的結(jié)構(gòu)

GIF89a

2.3 擴展名驗證

MIME驗證

MIME(Multipurpose Internet Mail Extensions)多用途互聯(lián)網(wǎng)郵件擴展類型。是設(shè)定某種擴展名的文件用一種應(yīng)用程序來打開的方式類型,當(dāng)該擴展名文件被訪問的時候,瀏覽器會自動使用指定應(yīng)用程序來打開。多用于指定一些客戶端自定義的文件名,以及一些媒體文件打開方式。

它是一個互聯(lián)網(wǎng)標準,擴展了電子郵件標準,使其能夠支持:

非ASCII字符文本;非文本格式附件(二進制、聲音、圖像等);由多部分(multiple parts)組成的消息體;包含非ASCII字符的頭信息(Header information)。

這個標準被定義在RFC 2045、RFC 2046、RFC 2047、RFC 2048、RFC 2049等RFC中。 MIME改善了由RFC 822轉(zhuǎn)變而來的RFC 2822,這些舊標準規(guī)定電子郵件標準并不允許在郵件消息中使用7位ASCII字符集以外的字符。正因如此,一些非英語字符消息和二進制文件,圖像,聲音等非文字消息原本都不能在電子郵件中傳輸(MIME可以)。MIME規(guī)定了用于表示各種各樣的數(shù)據(jù)類型的符號化方法。 此外,在萬維網(wǎng)中使用的HTTP協(xié)議中也使用了MIME的框架,標準被擴展為互聯(lián)網(wǎng)媒體類型。

MIME的作用

使客戶端軟件區(qū)分不同種類的數(shù)據(jù),例如web瀏覽器就是通過MIME類型來判斷文件是GIF圖片,還是可打印的PostScript文件。 Web服務(wù)器使用MIME來說明發(fā)送數(shù)據(jù)的種類,Web客戶端使用MIME來說明希望接收到的數(shù)據(jù)種類。

一個普通的文本郵件的信息包含一個頭部分(To: From: Subject: 等等)和一個體部分(Hello Mr.,等等)。在一個符合MIME的信息中,也包含一個信息頭并不奇怪,郵件的各個部分叫做MIME段,每段前也綴以一個特別的頭。MIME郵件只是基于RFC 822郵件的一個擴展,然而它有著自己的RFC規(guī)范集。

頭字段:MIME頭根據(jù)在郵件包中的位置,大體上分為MIME信息頭和MIME段頭。(MIME信息頭指整個郵件的頭,而MIME段頭只每個MIME段的頭。)

常見MIME類型

mimntype判斷

一般先判斷內(nèi)容的前十個字節(jié),來判斷文件類型,然后再判斷后綴名。

文件擴展名繞過

前提:黑名單校驗

黑名單檢測:一般有個專門的 blacklist 文件,里面會包含常見的危險腳本文件。

繞過方法:

(1)找黑名單擴展名的漏網(wǎng)之魚 - 比如 asa 和 cer 之類

(2)可能存在大小寫繞過漏洞 - 比如 aSp 和 pHp 之類

能被解析的文件擴展名列表:

jsp jspx jspf

asp asa cer aspx

三、配合文件包含漏洞

前提:校驗規(guī)則只校驗當(dāng)文件后綴名為asp/php/jsp的文件內(nèi)容是否為木馬。

繞過方式:(這里拿php為例,此漏洞主要存在于PHP中)

(1)先上傳一個內(nèi)容為木馬的txt后綴文件,因為后綴名的關(guān)系沒有檢驗內(nèi)容;

(2)然后再上傳一個.php的文件,內(nèi)容為“上傳的txt文件路徑”);?>

此時,這個php文件就會去引用txt文件的內(nèi)容,從而繞過校驗,下面列舉包含的語法:

(2)linux下后綴名大小寫

在linux下,如果上傳php不被解析,可以試試上傳pHp后綴的文件名。

CMS、編輯器漏洞

(1)CMS漏洞:比如說JCMS等存在的漏洞,可以針對不同CMS存在的上傳漏洞進行繞過。

(2)編輯器漏洞:比如FCK,ewebeditor等,可以針對編輯器的漏洞進行繞過。

這兩方面的漏洞以后單獨成文匯總,這里點到為止。

配合其他規(guī)則

(1)0x00截斷:基于一個組合邏輯漏洞造成的,通常存在于構(gòu)造上傳文件路徑的時候

test.php(0x00).jpg

test.php%00.jpg

路徑/upload/1.php(0x00),文件名1.jpg,結(jié)合/upload/1.php(0x00)/1.jpg

四、WAF繞過

1、 垃圾數(shù)據(jù)

有些主機WAF軟件為了不影響web服務(wù)器的性能,會對校驗的用戶數(shù)據(jù)設(shè)置大小上限,比如1M。此種情況可以構(gòu)造一個大文件,前面1M的內(nèi)容為垃圾內(nèi)容,后面才是真正的木馬內(nèi)容,便可以繞過WAF對文件內(nèi)容的校驗

當(dāng)然也可以將垃圾數(shù)據(jù)放在數(shù)據(jù)包最開頭,這樣便可以繞過對文件名的校驗。

2、 filename

針對早期版本安全狗,可以多加一個filename

POST/GET

有些WAF的規(guī)則是:如果數(shù)據(jù)包為POST類型,則校驗數(shù)據(jù)包內(nèi)容。

此種情況可以上傳一個POST型的數(shù)據(jù)包,抓包將POST改為GET。

以上方式針對WAF,以上介紹的服務(wù)器解析漏洞、文件包含漏洞等都可以嘗試繞過。

五、設(shè)計安全的文件上傳功能

1、文件上傳的目錄設(shè)置為不可執(zhí)行

2、判斷文件類型:強烈推薦白名單方式。此外,對于圖片的處理,可以使用壓縮函數(shù)或者resize函數(shù),在處理圖片的同時破壞圖片中可能包含的HTML代碼。

3、使用隨機數(shù)改寫文件名和文件路徑:一個是上傳后無法訪問;再來就是像shell.php.rar.rar和crossdomain.xml這種文件,都將因為重命名而無法攻擊。

4、單獨設(shè)置文件服務(wù)器的域名:由于瀏覽器同源策略的關(guān)系,一系列客戶端攻擊將失效,比如上傳crossdomain.xml、上傳包含Javascript的XSS利用等問題將得到解決。

以上就是腳本之家小編為大家具體的講解的文件上傳漏洞及解析漏洞總結(jié),需要的用戶快來看看吧,想了解更多精彩教程請繼續(xù)關(guān)注腳本之家網(wǎng)站!

相關(guān)文章

  • 常用的網(wǎng)站漏洞掃描工具小結(jié)

    偶爾在網(wǎng)上看到這些,拿來和大家一塊看看,也好讓各個站長懂得保護自己的網(wǎng)站
    2012-10-16
  • 教你如何繞過安全狗(safedog)

    安全狗是一款大家熟悉的服務(wù)器安全加固產(chǎn)品,據(jù)稱已經(jīng)擁有50W的用戶量。最近經(jīng)過一些研究,發(fā)現(xiàn)安全狗的一些防護功能,例如SQL注入、文件上傳、防webshell等都可以被繞過
    2014-07-17
  • 中國移動mas2.0平臺系統(tǒng)漏洞暴光 附修復(fù)方法

    MAS是中國移動的短信代理網(wǎng)關(guān)(平臺)。MAS是Mobile Agent Server的簡稱。目前多個政府部門、國有大型企業(yè)部門、運營商、金融部門都采用該平臺。MAS2.0是中國新一代的代理
    2012-05-11
  • 查找Centos Linux服務(wù)器上入侵者的WebShell后門

    服務(wù)器被掛馬或被黑的朋友應(yīng)該知道,黑客入侵web服務(wù)器的第一目標是往服務(wù)器上上傳一個webshell,有了webshell黑客就可以干更多的事 情
    2012-07-10
  • PHP漏洞全解

    PHP網(wǎng)頁的安全性問題,針對PHP的網(wǎng)站主要存在下面幾種攻擊方式
    2011-03-11
  • 惡意js腳本注入訪問偽隨機域名的實例解析

    我們的服務(wù)器又出入侵事故了。有客戶的html 網(wǎng)頁底部被插入了一段js 腳本, 導(dǎo)致訪客打開網(wǎng)頁時被殺毒軟件警告網(wǎng)站上有惡意代碼
    2012-07-10
  • phpinfo跨站腳本漏洞

    漏洞說明: php是一款被廣泛使用的編程語言,可以被嵌套在html里用做web程序開發(fā)。phpinfo()是用來顯示當(dāng)前php環(huán)境的一個函數(shù),許多站點和程序都會將phpinfo放在自己
    2008-10-08
  • 最新win2003 II6解析漏洞實戰(zhàn)及應(yīng)用

    新 win2003 IIS6 解析漏洞,大家可以參考下,注意防范。
    2009-11-23
  • 服務(wù)器上網(wǎng)站被掛Iframe木馬的解決方法

    今天訪問公司的一個網(wǎng)站,突然發(fā)現(xiàn)網(wǎng)頁顯示不對,右鍵查看HTML代碼,發(fā)現(xiàn)iframe了一個網(wǎng)站的js文件,不用說,肯定被掛馬了
    2014-07-31
  • 使用CSRF漏洞攻擊D-link路由器全過程

    本文介紹了使用CSRF漏洞攻擊D-link路由器全過程,主要目的是如何通過CSRF漏洞實現(xiàn)遠程管理訪問D-link路由器,需要的朋友可以參考下
    2014-04-25

最新評論