漏洞
以下函数能执行OS。OS命令注入,攻击者直接继承管理员权限,在服务器上执行任意命令,危害特别大。
eval,assert,passthru,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,exec
防御:
php.ini中找到disable_functions=。把上面四个函数添加进去。
-
尽量减少偏偏执行函数的使用,在disable_functions中禁用
-
在进入命令执行函数或者方法之前,对参数进行过滤
-
参数的值使用引号,并在拼接前调用addslashed进行转义
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
-
单引号(')
-
双引号(")
-
反斜杠(\)
-
NULL
漏洞危害
-
继承服务器程序权限,去执行系统命令
-
继承服务器权限,读写文件
-
反弹shell
-
控制整个网站
-
控制整个服务器