命令注入-命令的连接符【‘&’‘&&’‘||’‘|’】的含义及其用法

命令的连接符【‘&’‘&&’‘||’‘|’】的含义及其用法

一、各个连接符的含义

a && b :代表首先执行前者命令a再执行后命令b,但是前提条件是命令a执行正确才会执行命令b,在a执行失败的情况下不会执行b命令。所以又被称为短路运算符。
前面的命令执行成功后,它后面的命令才被执行

a & b:代表首先执行命令a再执行命令b,如果a执行失败,还是会继续执行命令b。也就是说命令b的执行不会受到命令a的干扰。
表示简单的拼接,A命令语句和B命令语句没有制约关系

a || b:代表首先执行a命令再执行b命令,如果a命令执行成功,就不会执行b命令,相反,如果a命令执行不成功,就会执行b命令。
前面的命令执行失败,它后面的命令才被执行

a | b:代表首先执行a命令,再执行b命令,不管a命令成功与否,都会去执行b命令。
当第一条命令失败时,它仍然会执行第二条命令,表示A命令语句的输出,作为B命令语句的输入执行。

二、用法演示

    以下结果皆由DVWA靶场中low的命令注入模块进行演示

1.a && b

输入

 127.0.0.1&&net user

在这里插入图片描述
可以看到执行了a命令和b命令
接着输入:

127.0.0.11111&&net user

在这里插入图片描述
    因为a命令为假,所以b命令并没有被执行。

2.a & b

输入

127.0.0.1&net user

在这里插入图片描述

    命令a和命令b都成功被执行了。我们接着输入

127.0.0.11111&net user

在这里插入图片描述
    虽然a命令为假,但b命令仍然被执行。接着输入

127.0.0.1&net userss

在这里插入图片描述
    可以看到,当b为假时,a也被执行。
    所以a & b两者之间没有制约关系,互不影响。

3.a || b

输入

127.0.0.1||net user

在这里插入图片描述
看到只执行了a,没有执行b。接着输入

127.0.0.11111||net user

在这里插入图片描述
看到a为假,但是b被执行了。
    所以a || b:前面的命令执行失败,它后面的命令才被执行。

4.a | b

输入

127.0.0.1|net user

在这里插入图片描述
    可以看到即使a命令是对的,但是并没有被执行,执行的是b。接着输入:

127.0.0.111111|net user

在这里插入图片描述
当a为假,还是只执行b命令。
    所以a | b:不管a命令成功与否,都会去执行b命令。

    本站所有文章均为原创,欢迎转载,请注明文章出处: https://blog.csdn.net/weixin_43847838/article/details/111602811.。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。

在C#中,`&` 和 `&&` 以及 `|` 和 `||` 都是用于逻辑运算的操作符,但它们之间有一些重要的区别。 `&` 是按位与操作符,用于对两个操作数的每一位执行逻辑与操作。它会计算两个操作数的每一位,并返回一个新的值,其中每一位都是根据相应的操作数位进行计算的。即使第一个操作数的某一位为0,第二个操作数对应的位也会被计算。 `&&` 是逻辑与操作符,用于对两个布尔表达式执行逻辑与操作。它只在第一个表达式为真时才会计算第二个表达式。如果第一个表达式为假,整个逻辑表达式的结果就为假,并且不会继续计算第二个表达式。 `|` 是按位或操作符,用于对两个操作数的每一位执行逻辑或操作。它会计算两个操作数的每一位,并返回一个新的值,其中每一位都是根据相应的操作数位进行计算的。即使第一个操作数的某一位为1,第二个操作数对应的位也会被计算。 `||` 是逻辑或操作符,用于对两个布尔表达式执行逻辑或操作。它只在第一个表达式为假时才会计算第二个表达式。如果第一个表达式为真,整个逻辑表达式的结果就为真,并且不会继续计算第二个表达式。 需要注意的是,按位操作符 `&` 和 `|` 可以用于整数类型的操作数,而逻辑操作符 `&&` 和 `||` 只能用于布尔类型的操作数。另外,逻辑操作符具有短路行为,这意味着它们在满足计算结果时可能不会对所有表达式进行求值。这是与按位操作符的一个重要区别。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

归去来兮-zangcc

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值