PHP 通过.user.ini 绕过黑名单限制
0x00 背景 这个估计很多同学看了不屑,认为是烂大街的东西了: .htaccess文件构成的PHP后门 那么我来个新的吧: .user.ini 。它比 .htaccess 用的更广,不管是nginx/apache/IIS,只要是以fastcgi运行的php都可以用这个方法。我的nginx服务器全部是fpm/fastcgi,我的IIS php5.3以上的全部用的fastcgi/cgi,我win下的apache上也用的fcgi,可谓很广,不像.htaccess有局限性。 0x01 .user.ini 那么什么是.user.ini? 这得从php.ini说起了。php.ini是php默认的配置文件,其中包括了很多php的配置,这些配置中,又分为几种: PHP_INI_SYSTEM 、 PHP_INI_PERDIR 、 PHP_INI_ALL 、 PHP_INI_USER 。 在此可以查看: http://php.net/manual/zh/ini.list.php 这几种模式有什么区别?看看官方的解释: 其中就提到了,模式为PHP_INI_USER的配置项,可以在ini_set()函数中设置、注册表中设置,再就是.user.ini中设置。 这里就提到了.user.ini,那么这是个什么配置文件?那么官方文档在 这里 又解释了: 除了主 php.ini 之外,PHP 还会在每个目录下扫描