eval
if(isset($_GET[‘cmd’])){
$cmd=$_GET[‘cmd’];
eval(“\$cmd=$cmd”);
echo “success”;
}else{
echo “fail”;
}
assert
if(isset($_GET[‘cmd’])){
$cmd=$_GET[‘cmd’];
assert(“\$cmd=$cmd”);
echo “success”;
}else{
echo “fail”;
}
回调函数
call_user_func($_GET[‘a’],$b);
call_user_func_array
动态执行
$_GET‘a’; 接受get的a作为一个函数,b作为一个参数
正则
//1.普通字符作为原子
$pattern=’/abc/‘;
$str=’abcssssabbbccccbcabc’;
preg_match_all($pattern,$str,$res);
var_dump($res);
//2.特色符合做原子
$pattern=’/[php]/‘;
$str=’[php]12456’;
preg_match_all($pattern,$str,$res);
var_dump($res);
//3.通用字符作原子
$pattern1=’/\d/‘; //0-9
$pattern2=’/\D/‘; //a-zA-Z
$str=’12345667aasgsdhdjAAFSEDGSHZ’;
preg_match_all($pattern1,$str,$res);
var_dump($res);
//.自定义原子
$pattern=’/[jsp]11/‘;
命令执行
常见函数
system
exec //需要echo只显示一行
passthru
shell_exec //需要echo
过滤函数
escapeshellcmd()
escapeshellarg()