1. 程式人生 > >某些環境下繞過php字尾黑名單上傳webshell

某些環境下繞過php字尾黑名單上傳webshell

某期三個白帽,某牛的出的題被秒,他利用過濾黑名單的方式防止上傳。做題的人就是直接上傳phtml繞過黑名單的,但是我之前還不知道phtml還被能解析成php。

於是我本地測試,卻發現我本地的phtml字尾解析不了。我本地的環境phpstudy整合環境。

我然後又在我的kali虛擬機器裡面測試,發現可以解析phtml。當時感覺好奇怪於是我就翻了翻了我kali裡面的apache配置檔案

kali是debian系的,/etc/apache2的目錄下就是apache2的所有配置檔案

其中apache2.conf是主要的配置檔案,*-enabled表示在是用的配置,*-available表示是可用的配置。

我們來看看apache2.conf中的配置。

在檔案的尾部包含了包含了模組的配置,而php5模組配置就是在mods-enabled裡面

可看見php5.conf是../mods-available/php5.conf的軟連線。看看php5.conf

終於找到原因啦,只要符合這個正則的字尾名都可以被當做php檔案執行。符合的字尾包括 php、php3、php4、php5、phtml、pht等

後來我還去測試了其他的一些apache+php的環境

windows

phpstudy和wamp兩個整合環境

linux

ubuntu、debian和centos用源的方式安裝lamp.(apt-get和yum)

結果

phpstudy和wamp以及centos用yum方式安裝的lamp環境不能解析phtml和pht

ubuntu和debian利用apt-get方式安裝的lamp環境就能解析phtml和pht,原因和上圖分析是一樣的。

備註

利用這些環境特性和黑名單就能繞過限制,達到上傳webshell的目的,在平常滲透測試當中也許會是一個突破點