Apache解析漏洞(一)


 

500是服務器內部錯誤,說明是有文件的

 

Apache 漏洞之后綴名解析漏洞

 

我們都知道windows2003 + IIS6.0下,如果目錄結構中有xxx.asp這樣的目錄,那么所有這個目錄下的文件不管擴展名為什么,都會當作asp來解析。我們一般稱這個漏洞為 windows2003+iis6.0目錄解析漏洞。

 

但是大家可能不知道的是,apache服務器也存在類似的解析漏洞我們來做下實驗,我在本地搭建好了一個apache+php的測試平台

 

兩個文件phpinfo.php

        phpinfo.php.a ,

 

我們來訪問下phpinfo.php.a

http://192.168.99.110/phpinfo.php.a

 

可以解析,換成其他后綴仍然可以]

 

不管文件最后后綴為什么,只要是.php.*結尾,就會被Apache服務器解析成php文件,

 

問題是apache如果在mime.types文件里面沒有定義的擴展名在

 

諸如x1.x2.x3的情況下,最后一個x3的沒有定義,他會給解析成倒數第二個的x2的定義的擴展名。

 

所以xxx.php.rar或者 xxx.php.111這些默認沒在mime.types文件定義的都會解析成php的。同樣如果是cgi或者jsp也一樣。。。

 

那么如果涉及到web程序的上傳頁面,如果上傳的文件名是我們可以定義的,

 

那么我們完全可以上傳一個xxx.php.jpg這樣名字的 webshell,apache仍然會當作php來解析,我們再來測試下jpg

 

防御方法:

apache配置文件,禁止.php.這樣的文件執行,配置文件里面加入

<Files ~ "\.(php.|php3.)">

        Order Allow,Deny

        Deny from all

</Files>

 

保存,從起apache以后,我們再來看看

 

OK,防御方法就是這樣

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM