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,防禦方法就是這樣
 


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章