最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

远程命令执行命令注入 之 命令连接符

业界 admin 1浏览 0评论

目录

一、理论

二、实践

windows 10

a | b

a || b

a && b

a & b

kali linux

a | b

a || b

a && b

a ; b


一、理论

远程命令执行可以用到的命令连接符,windows系统和linux系统各有4个,其中3个是共有的,各有1个是特有的:

  • windows系统:| ||&&&
  • linux系统:| ||&&;

各连接符含义如下:

  • |

管道操作符

可以把前一个命令的标准输出传输到后一个命令的标准输入

比如 a | b表示命令a的输出作为命令b的输入

在远程命令执行中,不管a的执行结果是否正确,b都可以执行

  • ||

逻辑或

注意该命令有短路的情况

比如 a || b,如果命令a执行成功,则命令b不会被执行;只有命令a执行失败的情况下,才会执行命令b

  • &&

逻辑与

注意该命令有短路的情况

比如 a && b,如果命令a执行失败,则命令b不会被执行;只有命令a执行成功的情况下,才会执行命令b

  • &

windows特有

允许在一行内从左向右顺序执行多条命令,前一条命令失败也不影响后一条命令的执行

比如 a & b,不管a是否执行成功,b命令都会执行

  • ;

(可能看不清,这是个分号)

linux系统特有

允许在一行内从左向右顺序执行多条命令,前一条命令失败也不影响后一条命令的执行

比如 a ; b,不管a是否执行成功,b命令都会执行

二、实践

下面分别在windows 10和kali linux中演示一下上面说的内容。

演示的时候用到的命令a为ping命令,命令b为whoami命令。

为啥用whoami命令呢?因为这个命令不但windows和linux系统都支持(windows xp不默认支持,可安装),而且显示的内容不同,不但可以用来判断是否有远程命令执行漏洞,还可以用来判断操作系统(linux系统中显示当前执行操作的用户名,windows系统中显示当前登录的域名和用户名)。

还有一点需要注意,命令和连接符之间有没有空格都可以

windows 10

a | b

a为真,b执行

a为假,b执行

a || b

a为真,b不执行

a为假,b执行

a && b

a为真,b执行

a为假,b不执行

a & b

a为真,b执行

a为假,b执行

 

kali linux

a | b

a为真,b执行

a为假,b执行

a || b

a为真,b不执行

a为假,b执行

a && b

a为真,b执行

a为假,b不执行

a ; b

a为真,b执行

a为假,b执行

 

目录

一、理论

二、实践

windows 10

a | b

a || b

a && b

a & b

kali linux

a | b

a || b

a && b

a ; b


一、理论

远程命令执行可以用到的命令连接符,windows系统和linux系统各有4个,其中3个是共有的,各有1个是特有的:

  • windows系统:| ||&&&
  • linux系统:| ||&&;

各连接符含义如下:

  • |

管道操作符

可以把前一个命令的标准输出传输到后一个命令的标准输入

比如 a | b表示命令a的输出作为命令b的输入

在远程命令执行中,不管a的执行结果是否正确,b都可以执行

  • ||

逻辑或

注意该命令有短路的情况

比如 a || b,如果命令a执行成功,则命令b不会被执行;只有命令a执行失败的情况下,才会执行命令b

  • &&

逻辑与

注意该命令有短路的情况

比如 a && b,如果命令a执行失败,则命令b不会被执行;只有命令a执行成功的情况下,才会执行命令b

  • &

windows特有

允许在一行内从左向右顺序执行多条命令,前一条命令失败也不影响后一条命令的执行

比如 a & b,不管a是否执行成功,b命令都会执行

  • ;

(可能看不清,这是个分号)

linux系统特有

允许在一行内从左向右顺序执行多条命令,前一条命令失败也不影响后一条命令的执行

比如 a ; b,不管a是否执行成功,b命令都会执行

二、实践

下面分别在windows 10和kali linux中演示一下上面说的内容。

演示的时候用到的命令a为ping命令,命令b为whoami命令。

为啥用whoami命令呢?因为这个命令不但windows和linux系统都支持(windows xp不默认支持,可安装),而且显示的内容不同,不但可以用来判断是否有远程命令执行漏洞,还可以用来判断操作系统(linux系统中显示当前执行操作的用户名,windows系统中显示当前登录的域名和用户名)。

还有一点需要注意,命令和连接符之间有没有空格都可以

windows 10

a | b

a为真,b执行

a为假,b执行

a || b

a为真,b不执行

a为假,b执行

a && b

a为真,b执行

a为假,b不执行

a & b

a为真,b执行

a为假,b执行

 

kali linux

a | b

a为真,b执行

a为假,b执行

a || b

a为真,b不执行

a为假,b执行

a && b

a为真,b执行

a为假,b不执行

a ; b

a为真,b执行

a为假,b执行

 

发布评论

评论列表 (0)

  1. 暂无评论