【网络安全一百问-72】PHP代码执行有哪些容易忽略的危险函数

请先 登录 后评论

4 个回答

戴着黑帽的白帽子 - 摸鱼专业户/躺平主义者/摆烂专家

1、eval() 执行多行代码

2、assert() 执行单行代码

3、preg_replace() 正则替换

4、create_function() //有些函数只是临时用用,给他命名太烦

5、array_map //对数组进行处理

6、双引号命令执行

请先 登录 后评论
kikihkm

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 代码;


请先 登录 后评论
u52663873380211

1.system()

2.exec()

3.shell_exec()

4.passthru()

5.popen()



请先 登录 后评论
小黄鸭_23

1.system()

2.exec()

3.shell_exec()

请先 登录 后评论

相似问题