(进阶)代码执行漏洞

代码执行漏洞原理和sql注入类似,都是执行代码的函数的参数没有过滤好。

常见的可能存在没有过滤的函数有:

eval() , assert() 判断一个表达式是否成立, preg_replace() , call_user_func() , call_user_func_array() , array_map()

还有就是动态函数($a($b))

命令执行漏洞相关函数:

system(),exec(),shell_exec(),passthru(),pcntl_exec(),popen(),proc_open(),另外,反引号 ` 也可以执行命令,只不过用的是shell_exec()函数

如果存在命令执行漏洞,那么直接就可以远程下载自己的木马。

防止命令注入参数的函数:

escapeshellcmd()将字符串命令中的特殊字符过滤掉,escapeshellarg()将参数加上双引号

你可能感兴趣的:((进阶)代码执行漏洞)