命令注入常用的命令拼接符

【常用命令拼接符】

序号 拼接方式         示例 解释
1 | pwd|touch 1

| 符:管道符“|”上一条命令的输出,作为下一条命令参数(command1|command2 )

注意:当command1执行报错时,结果会打印command2的结果以及command1的错误信息

2 & pwd&tonch 1

&符:&放在启动参数后面表示设置此命令在后台运行 

在命令注入漏洞中&符解析成 command1 & command2(表示先执行command1后执行 command2)

3 ; pwd;touch 1 ;符:command1;command2(命令从左到右顺序执行)
4 || pd||touch 1 || 符:command1||command2(当左边为假时执行右边命令)
5 && pwd&&touch 1 &&符: command1&&command2(当左边为真时执行右边命令
6 `` pwd`touch 1` ``也可以进行命令的执行
7 $ pwd$(touch 1) 拥有较高的执行优先级
8 换行%0a

pwd

touch 1

换行进行命令的执行

命令执行举例:

1、| 符

| 符:管道符“|”上一条命令的输出,作为下一条命令参数(command1|command2 )

注意:当command1执行报错时,结果会打印command2的结果以及command1的错误信息

前一个命令会执行,但是不会显示,当报错的时候会提示报错

命令注入常用的命令拼接符_第1张图片

第一个命令错误不会影响第二个命令执行

命令注入常用的命令拼接符_第2张图片

2、&符

&符:&放在启动参数后面表示设置此命令在后台运行 

在命令注入漏洞中&符解析成 command1 & command2(表示先执行command1后执行 command2)

命令注入常用的命令拼接符_第3张图片

第一个命令错误不会影响第二个命令的执行

命令注入常用的命令拼接符_第4张图片

3、;符

;符:command1;command2(命令从左到右顺序执行),两个命令都会执行

命令注入常用的命令拼接符_第5张图片

前一个命令报错不会影响第二个命令执行

命令注入常用的命令拼接符_第6张图片

4、|| 符

|| 符:command1||command2(当左边为假时执行右边命令)

前一个命令正确时不会执行后一个命令

命令注入常用的命令拼接符_第7张图片

前一个命令错误时才会执行后一个命令

命令注入常用的命令拼接符_第8张图片

5、&&符

&&符: command1&&command2(当左边为真时执行右边命令

命令注入常用的命令拼接符_第9张图片

左边为假时不会执行右边命令

命令注入常用的命令拼接符_第10张图片

6、``

``也可以进行命令的执行

两个命令都可以执行

命令注入常用的命令拼接符_第11张图片

7、$符

拥有较高的执行优先级

两个命令都会执行

命令注入常用的命令拼接符_第12张图片

8、换行

【常见类型绕过方法】

1、在Web程序中有对空格过滤的情况

<,<>,%20(space),%09(tab),$IFS$9,  I F S , {IFS},IFS,IFS

2、在Web程序中有对关键词cat命令过滤的情况,如

2.1 less或more或tail命令绕过

你可能感兴趣的:(web安全学习,linux,运维,服务器)