常见WEB攻击之命令注入 | 您所在的位置:网站首页 › 命令执行常用函数 › 常见WEB攻击之命令注入 |
一、什么是命令注入
即 Command Injection。是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。 在Web应用中,有时候会用到一些命令执行的函数,如php中system、exec、shell_exec等,当对用户输入的命令没有进行限制或者过滤不严导致用户可以执行任意命令时,就会造成命令执行漏洞。 二、注入原理 命令注入0.jpg黑客将构造好的命令发送给web服务器,服务器根据拼接命令执行注入的命令,最后讲结果显示给黑客。 三、命令注入实例以DVWA为例,下面使用ping命令测试IP,正常输入一个IP或者域名会返回一个正常的返回结果。 当输入恶意构造的语句 www.baidu.com && netstat -an,会把后面的语句也给执行了: 执行结果: 命令注入1.jpgPHP的常见命令执行函数: system(),exec(),shell_exec(),passthru() 1、system() system — 执行外部程序,并且显示输出 常规用法: 命令注入2.jpg使用PHP执行: php test1.php www.baidu.com 命令注入3.jpg 如果恶意攻击者输入以下命令,则会造成任意命令执行: php test1.php '|ls' 命令注入4.jpg 2、exec()exec — 执行一个外部程序 命令注入5.jpg3、shell_exec() shell_exec — 通过 shell 环境执行命令,并且将完整的输出以字符串的方式返回。 命令注入6.jpg4、passthru() passthru() 函数与 exec() 函数类似,执行外部程序并且显示原始输出。 命令注入写webshell:Windows: 用^转义 |
今日新闻 |
推荐新闻 |
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 |