第八章——第二节--文件包含漏洞篇之PHP相关参数介绍
1、PHP配置文件(PHP.ini)介绍
php.ini是php的配置文件,里面包含了众多配置,在php启动时被读取。自php5.3.0起,PHP支持每个目录的.htaccess风格的ini文件。此类文件仅被CD/FASTCGL SAPL处理。如果使用apache,则用.htaccess文件同样效果。
2、PHP.ini的配置语法
a)指令=值
b) 指令名大小写敏感
3、PHP.ini常见重要配置
a) 短标签: short_open_tag = on
这项配置设置为on 的话。允许php使用短标签,如<? 短标签形式<?php 完整标签形式.如果能知道对方开了短标签的一些开关的话,写一句话或者绕过waf便可以用短标签的形式来尝试操作。
b) php安全模式: safe_mode = off
php的安全模式配置,能够控制一些php中的函数,比如system(),同时把很多文件操作函数进行权限控制,也不允许对某些文件关键文件的访问,比如/etc/passwd ,但是默认的php.ini 是没有打开安全模式的,这个特性已经从PHP5.4移除了,只可能存在5.3之前的PHP版本。
c) 安全模式下的执行程序主目录:safe_mode_exec_dir = /var/www/html
如果PHP使用安全模式,且配置了这项选项,那么只能在这个目录下执行PHP。
d) 禁用类/函数:disable_classes= disable_functions=
这两项配置禁用某些类,禁用某些函数。接收逗号分隔的函数名列表作为参数。只能设置在php.ini中
e) 上传配置设置:
file_uploads = on 设置上传是否开启
upload_max_filesize = 8M 设置最大允许上传多少
ipload_tmp_dir = /tmp上传临时文件保存的目录,且这个目录可写。
f) php魔术引号:magic_quotes_gps = on
当 magic_quotes为on时,所以的单引号,双引号,反斜线和null都会被自动转义为反斜线。( 注:本特性已自PHP5.3.0起废弃并将自PHP5.4.0起移除 )
g)是否允许打开远程文件: allow_url_fopen = on
本选项激活了URL形式的fopen封装协议使得可以访问URL对象,例如文件,默认的封装协议提供FTP和http协议来访问远程文件,一些扩展库例如zlib可能会注册更多的封装协议。
h)是否允许包含玩远程文件:allow_url_include = off
本项目激活允许include , include_once, require, require_once等函数使用使用URL形式的fopen封装协议,简单来说打开了的话,就能够远程包含文件。
小结:
1、PHP配置文件(PHP.ini)介绍
2、PHP.ini的配置语法
3、PHP.ini常见重要配置