命令注入概述

概述

命令注入即 Command Injection。是指在开发需求中,需要调用一些系统的命令来完成某些特定的功能。当未对用户输入的参数进行严格的过滤时,则有可能发生命令注入。攻击者可以通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。

命令连续符

系统命令支持使用连接符来执行多条语句,常见的连接符有|、||、&、&&,其含义为

符号

含义

;(Linux中)

前后的命令依次执行,注意前后顺序

|

管道符,前面命令输出结果作为后面命令的输入内容,当第一条命令报错时依旧执行下一条命令,且只会输出下一条命令的结果

||

前面命令执行失败时才执行后面的命令

&

前面命令执行后继续执行后面的命令

&&

前面命令执行成功后才执行后面的命令

||

当前面命令执行失败时,才执行后面的,这里可以看到只进行了对baidu的ping命令,并没有执行ipconfig

命令注入概述_第1张图片

当前面命令执行完之后会出现报错,然后继续执行后面的命令

命令注入概述_第2张图片

&&

前面命令执行成功后才执行后面的命令,不然就直接报错退出

命令注入概述_第3张图片
命令注入概述_第4张图片

但是一个&就不会有限制,会将命令执行完

命令注入概述_第5张图片

实例

以DVWA靶场为例

low

拿到题目后给了我一个输入框,叫我提供一个IP地址,使用ping命令测试IP

命令注入概述_第6张图片

输入www.baidu.com

可以看到ping通了

命令注入概述_第7张图片

那我们就可以使用连接符进行命令注入、

输入www.baidu.com&&ipconfig

可以看到不仅执行了对百度的ping还执行了ipconfig查看配置信息

命令注入概述_第8张图片

你可能感兴趣的:(linux,服务器,运维)