php代码审计1(php.ini配置)

2021/9/11 9:05:10

本文主要是介绍php代码审计1(php.ini配置),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

1.php.ini基本配置-语法

大小写敏感

directive = value(指令=值)
foo=bar 不等于 FOO=bar

运算符
| & ~ !

空值的表达方法
foo =     ;
foo = none;
foo = "none";



2.基本配置

安全模式

safe_mode = on (安全模式,用来限制文档的存取,限制环境变量的存取,控制外部程序的执行,如果为空或者关闭即远程代码执行,但是这个特性在php5.4.0被移除了)



限制环境变量存取

safe_mode_allowed_env_vars = string (指定php程序可以改变的环境变量的前缀,当这个选项值为空时,php可以改变任何环境变量)



外部程序执行目录

 

safe_mode_exec_dir = "/usr/local/WWW"



禁用函数

disable_functions (用来禁止一些铭感函数的使用,不要把dl()函数也加到禁止列表,攻击者可以利用dl()函数加载自定义的php扩展来突破disable_function,配置禁用函数时可以使用逗号分隔函数名)


com组件

com_allow_dcom = false (php设置在安全模式下(safe_mode),仍旧允许攻击者使用com()函数来创建系统组件来任意命令,推荐关闭这个函数来防止出现次漏洞,使用com函数需要在php.ini中配置extension = php_com_dotnet.dll,如果php版本小于5.4.5则不需要配置)



全局变量注册开关

register_globals = off (默认值为off 在4.2版本之前是默认开启的,当为开启状态时,可以接受来自服务器的各种环境变量,包括表单提交的变量,非常不安全,所以要关闭,off时,服务器端用$GET['name']来获取数据,on时,服务端用post或者get提交的变量,都将使用全局变量的值来接受值)



魔术引号自动过滤

magiv_quotes = on (这个在php5.4.0已经被移除,默认为关闭,如果开启后它会自动把用户提交的sql查询语句进行转换,如单引号,双引号,反斜杠和空字符都加上反斜杠转义,get,post,cookie请求都会收影响,开启它会提高网站的安全性,也可以使用addslashes来转义http的请求数据,或者用stripslashes来删除转义)



远程文件

allow_url_include = off (配置为on的情况下,可以直接包含远程文件,包含变量可控的情况下可直接控制变量来执行php代码)
allow_url_open =on (允许本地php文件通过url重写来打开和关闭写权限,默认的协议提供ftp和http协议来访问文件)


目录权限

expose_php = off (防止了通过http头部泄露php版本信息)
upload_tmp_dir =  (上传文件临时保存的目录,如果不设置,则采用系统的临时目录)
open_basedir = /usr/local/WWW (控制php脚本只能访问指定的目录,能够避免php脚本访问,不应该访问文件,一定程度上限制了phpshell的危害)



错误信息

display_errors = on (显示php脚步内部错误,网站发布后建议关闭错误回显)
error_reporting = E_ALL & ~E_NOTICE (将错误级别调到最高,显示所有问题,方便排错)

 



这篇关于php代码审计1(php.ini配置)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程