概述
命令注入即 Command Injection。是指在开发需求中,需要调用一些系统的命令来完成某些特定的功能。当未对用户输入的参数进行严格的过滤时,则有可能发生命令注入。攻击者可以通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。
命令连续符
系统命令支持使用连接符来执行多条语句,常见的连接符有|、||、&、&&,其含义为
| 符号 | 含义 | 
| ;(Linux中) | 前后的命令依次执行,注意前后顺序 | 
| | | 管道符,前面命令输出结果作为后面命令的输入内容,当第一条命令报错时依旧执行下一条命令,且只会输出下一条命令的结果 | 
| || | 前面命令执行失败时才执行后面的命令 | 
| & | 前面命令执行后继续执行后面的命令 | 
| && | 前面命令执行成功后才执行后面的命令 | 
||
当前面命令执行失败时,才执行后面的,这里可以看到只进行了对baidu的ping命令,并没有执行ipconfig
 
   当前面命令执行完之后会出现报错,然后继续执行后面的命令
 
   &&
前面命令执行成功后才执行后面的命令,不然就直接报错退出
 
    
   但是一个&就不会有限制,会将命令执行完
 
   实例
以DVWA靶场为例
low
拿到题目后给了我一个输入框,叫我提供一个IP地址,使用ping命令测试IP
 
   输入www.baidu.com
可以看到ping通了
 
   那我们就可以使用连接符进行命令注入、
输入www.baidu.com&&ipconfig
可以看到不仅执行了对百度的ping还执行了ipconfig查看配置信息
 
   


















