php危险函数

RCE, Remote Code/Command Excuite(远程 代码/命令 执行) 危险函数

phpinfo()

1、查看当前php配置信息,可以被攻击者用来进行弱点信息搜集

2、phpinfo也是常用于检验代码执行漏洞是否存在的命令



eval()

把字符串当做PHP代码执行,意味着只要控制了eval函数的所计算的变量,就能在目标机器上实现任意代码执行。一般来说eval都会被禁掉



assert()

初学者都会把它的功能当作和eval一样,但实际上assert是检查断言的真假,其工作的原理是先把被检查的字符串当做PHP代码执行后再来判断。assert也是中国菜刀,蚁剑使用的代码执行函数。



call_user_func()

$a = phpinfo();

call_user_func('eval',$a);

eval这个字符串在这个回调函数的第一个位子,那么这个字符串就被当做成一个函数,$a在此回调函数的第二个位置,那么$a中就是第一个位子函数中要计算的数据



exec(),system(),passthru(),shell_exec()

这几个都是命令执行函数,exec(),shell_exec()不显示,需要打印出来。system()和passthru()可以直接显示出执行结果。shell_exec()等同于反引号``



str_replace()

字符替换,常用于对危险输入进行过滤。因为其本质上是基于黑名单的设置,所以容易被绕过。

posted @ 2020-05-28 14:30  清枫、  阅读(449)  评论(0编辑  收藏  举报