Apache后綴名解析漏洞分析和防御方法
我們都知道windows2003 + IIS6.0下,如果目錄結(jié)構(gòu)中有xxx.asp這樣的目錄,那么所有這個(gè)目錄下的文件不管擴(kuò)展名為什么,都會(huì)當(dāng)作asp來解析。我們一般稱這個(gè)漏洞為windows2003+iis6.0目錄解析漏洞。但是大家可能不知道的是,apache服務(wù)器也存在類似的解析漏洞。
我們來做下實(shí)驗(yàn),我在本地搭建好了一個(gè)apache+php的測試平臺(tái):
兩個(gè)文件phpinfo.php phpinfo.php.a ,我們來訪問下phpinfo.php.a:
http://192.168.99.110/phpinfo.php.a
可以解析,換成其他后綴仍然可以。
不管文件最后后綴為什么,只要是.php.*結(jié)尾,就會(huì)被Apache服務(wù)器解析成php文件,問題是apache如果在mime.types文件里面沒有定義的擴(kuò)展名在諸如x1.x2.x3的情況下,最后一個(gè)x3的沒有定義,他會(huì)給解析成倒數(shù)第二個(gè)的x2的定義的擴(kuò)展名。所以xxx.php.rar或者xxx.php.111這些默認(rèn)沒在mime.types文件定義的都會(huì)解析成php的。同樣如果是cgi或者jsp也一樣。。。
那么如果涉及到web程序的上傳頁面,如果上傳的文件名是我們可以定義的,那么我們完全可以上傳一個(gè)xxx.php.jpg這樣名字的webshell,apache仍然會(huì)當(dāng)作php來解析,我們再來測試下jpg。
防御方法:apache配置文件,禁止.php.這樣的文件執(zhí)行,配置文件里面加入。
<Files ~ "\.(php.php3.)">
Order Allow,Deny
Deny from all
</Files>
保存,從起apache以后,我們再來看看。
OK,防御方法就是這樣。
相關(guān)文章
6ull加載linux驅(qū)動(dòng)模塊失敗解決方法
大家好,本篇文章主要講的是6ull加載linux驅(qū)動(dòng)模塊失敗解決方法,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12apache虛擬機(jī)配置步驟和修改訪問端口的方法(虛擬機(jī)端口映射)
這篇文章主要介紹了apache虛擬機(jī)配置步驟和修改訪問端口的方法(虛擬機(jī)端口映射),需要的朋友可以參考下2014-02-02centOS7.4 安裝 mysql 5.7.26的教程詳解
CentOS中默認(rèn)安裝有MariaDB,這個(gè)是MySQL的分支,但為了需要,還是要在系統(tǒng)中安裝MySQL,而且安裝完成之后可以直接覆蓋掉MariaDB。這篇文章主要介紹了centOS7.4 安裝 mysql 5.7.26,需要的朋友可以參考下2019-06-06Linux安裝Jenkins步驟及各種問題解決(頁面訪問初始化密碼)
這篇文章主要介紹了Linux安裝Jenkins步驟及各種問題頁面訪問初始化密碼,需要的朋友可以參考下2019-12-12服務(wù)器端包含、嵌入技術(shù)SSI(Server SideInc lude)詳解
這篇文章主要介紹了服務(wù)器端包含、嵌入技術(shù)SSI(Server SideInc lude)詳解,本文包含SSI簡介、SSI的語法、SSI的一些常用命令等,SSI最明顯的特征是網(wǎng)頁的擴(kuò)展名師.shtml,一些大網(wǎng)站也常用這種技術(shù),需要的朋友可以參考下2014-07-07