1、eval() 执行多行代码
2、assert() 执行单行代码
3、preg_replace() 正则替换
4、create_function() //有些函数只是临时用用,给他命名太烦
5、array_map //对数组进行处理
6、双引号命令执行
PHP代码执行的危险函数:
(1)eval 函数把字符串按照 PHP 代码来计算,如常见的一句话后门程序;
(2)assert函数,与eval类似,字符串被 assert() 当做 PHP 代码来执行;
(3)preg_replace函数原型:mixed preg_replace ( mixed pattern,mixedpattern , mixed pattern,mixedreplacement , mixed subject[,intsubject [, int subject[,intlimit = -1 [, int &$count ]] )
搜索subject中匹配pattern的部分, 以replacement进行替换。
preg_replace函数原本是执行一个正则表达式的搜索和替换,但因为存在危险的/e修饰符,使 preg_replace() 将 replacement 参数当作 PHP 代码;
1.system()
2.exec()
3.shell_exec()
4.passthru()
5.popen()