偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Web安全:文件解析漏洞

安全 漏洞 后端
PHP是用C語言編寫的,MySQL則是用C++編寫的,而Apache則大部分是使用C語言編寫的,少部分是使用C++編寫的。所以,文件解析漏洞的本質(zhì)還是需要我們挖掘C語言、C++的漏洞。

Web安全:文件解析漏洞

PHP是用C語言編寫的,MySQL則是用C++編寫的,而Apache則大部分是使用C語言編寫的,少部分是使用C++編寫的。所以,文件解析漏洞的本質(zhì)還是需要我們挖掘C語言、C++的漏洞。

文件解析漏洞是指中間件(IIS、Apache、Nginx等)在解析文件時出現(xiàn)了漏洞,從而攻擊者可以利用該漏洞實現(xiàn)非法文件的解析。需要注意的是文件解析漏洞與文件上傳漏洞是兩碼事,文件解析漏洞是基于文件上傳之后的。

比如Apache中間件是C語言與C++混合編寫成的,當Apache中間件出現(xiàn)了解析漏洞,無論我們PHP代碼層面如何安全,都沒辦法抵擋攻擊者的攻擊,因為現(xiàn)在的漏洞已經(jīng)與PHP代碼層無關(guān),已經(jīng)是底層的安全問題了。

文件解析漏洞就是因為Apache中間件的C語言或者C++的編程出現(xiàn)了漏洞,導(dǎo)致攻擊者可以利用該漏洞解析非法文件。所以,底層安全比任何安全都要重要,至少我們從現(xiàn)在起,要開始重視底層安全。

接下來,我們介紹Apache解析PHP文件的原理。

當Apache(httpd.exe)運行之后,開始監(jiān)聽Web瀏覽器發(fā)送的請求,攔截請求,簡單處理之后再將該請求告知PHP代碼解析器(CGI、FAST-CGI或者Apache Module)解析特定的PHP文件。PHP代碼解析器解析文件完成之后,返回HTML頁面給Apache,Apache再將HTML頁面響應(yīng)到Web瀏覽器,就這樣循環(huán)。在Apache解析正常PHP文件的時候,當然是沒有大問題的。但是,當出現(xiàn)畸形文件的時候,Apache又該如何處理呢?其實,在httpd.conf文件中,有個設(shè)置DefaultType text/plain,這個設(shè)置告訴我們Apache在遇到無法識別的文件時,它會做出怎么樣的反應(yīng)。例如DefaultType text/plain,在這樣的設(shè)置前提下,當Apache遇到無法識別的文件時,就會將這些無法識別的文件通通作為文本文件來解析。在此,無法識別是什么意思呢?原來在Apache的conf目錄下面有個mime.types文件(Linux在etc/mime.types),這個文件的內(nèi)容就是Apache預(yù)定義的一些可以正常解析的文件。例如圖片的Content-type與其文件的對應(yīng)關(guān)系如下。

image/jpeg:對應(yīng)jpeg、jpg、jpe文件。

image/gif:對應(yīng)gif文件。

image/png:對應(yīng)png文件。

image/ief:對應(yīng)ief文件。

image/g3fax:對應(yīng)g3文件。

當Apache遇到正常文件卻無法解析的時候,可以在這里面手動添加解析類型。比如,想下載一個Word文件,但是,Apache卻把Word文件以rar文件的形式返回。這種情況,就是因為Apache沒有在mime.types文件(或是httpd.conf文件)中識別到Word文件。那么,它只能通過分析該文件的本身內(nèi)容,認為它是一個壓縮文件,最后,Apache返回一個壓縮文件。至于是什么格式的壓縮文件,只有Apache才知道。此時,如果我們要Apache能正常識別Word文件,就需要在mime.types文件中加上以下三句代碼: 

  1. application/vnd.MSword.document.macroEnabled.12 docm  
  2. application/vnd.openxmlformats-officedocument.wordprocessingml.document docx  
  3. application/vnd.openxmlformats-officedocument.wordprocessingml.template dotx  

這樣,Apache就可以正常返回Word文件了。其實也可以在http.conf文件中設(shè)置文件解析類型,使用Apache的AddType 指令設(shè)置,代碼如下。 

  1. AddType application/vnd.MSword.document.macroEnabled.12 docm  
  2. AddType applic ation/vnd.ope nxml f o rmat s-o f ficedo cume nt.wordprocessingml.document docx  
  3. AddType applic ation/vnd.ope nxml f o rmat s-o f ficedo cume nt.wordprocessingml.template dotx  

建議不要去修改mime.types文件,添加文件解析類型時推薦使用Apache的AddType指令。因此,對于在mime.types文件或者httpd.conf文件中都無法識別的文件解析類型,Apache就會默認按照DefaultType text/plain這個字段給出的值來解析這個無法識別的文件。也許在使用這個值之前,還有一段解析驗證,比如下載Word文件而返回rar文件。有興趣的可以研究下Apache的代碼,研究下我們的文件解析漏洞究竟是發(fā)生在Apache框架代碼的哪個分支上?

某站文件存在解析漏洞,攻擊者可在IIS 服務(wù)器中的C:\inetpub\wwwroot目錄下建立一個名為aa.asp的文件夾,如圖1所示。 

 

圖1 建立可執(zhí)行目錄

接下來,攻擊者在本地新建aa.jpg文件并向其中寫入ASP一句話木馬代碼。然后,攻擊者將已寫入ASP一句話木馬代碼的aa.jpg圖片木馬文件上傳至aa.asp文件夾。最后,攻擊者使用中國菜刀連接aa.asp文件夾下剛才上傳的aa.jpg圖片木馬文件,即可獲得webshell,如圖2所示。 

 

圖2 獲取webshell 

 

責任編輯:龐桂玉 來源: 計算機與網(wǎng)絡(luò)安全
相關(guān)推薦

2020-12-01 15:35:06

Web安全明文密碼漏洞

2016-08-31 09:19:57

2009-11-25 10:57:17

2010-08-30 13:07:31

2022-12-08 10:33:48

2010-03-16 09:27:31

2011-02-15 11:46:41

2013-01-28 16:44:50

2011-10-11 17:59:41

2018-09-10 11:07:19

2011-09-28 09:31:18

2010-08-30 09:50:34

2009-01-08 19:06:00

服務(wù)器安全Web服務(wù)器

2010-01-11 21:19:57

2019-03-26 15:57:17

智匯華云安全漏洞

2011-08-02 15:19:28

2010-05-21 10:02:56

2018-11-01 08:31:05

2012-12-18 17:11:58

2013-09-04 10:41:08

點贊
收藏

51CTO技術(shù)棧公眾號