命令注入-命令的連線符【‘&’‘&&’‘||’‘|’】的含義及其用法
一、各個連線符的含義
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.。百度和各類採集站皆不可信,搜尋請謹慎鑑別。技術類文章一般都有時效性,本人習慣不定期對自己的博文進行修正和更新,因此請訪問出處以檢視本文的最新版本。
相關文章
- Shell命令列中的特殊字元及其轉義(去除特殊含義)命令列字元
- package.json 中的版本號,符號 ~ 與 ^ 的區別及其他符號的含義PackageJSON符號
- C語言巨集定義##連線符和#符的使用C語言
- css詳解position五種屬性用法及其含義CSS
- DOS命令之Date命令的用法
- linux top命令欄位含義Linux
- 【命令】usemod 的用法
- echo命令在Unix中的作用以及其常見用法?
- linux top命令VIRT,RES,SHR,DA他的含義Linux
- C/C++語言巨集定義##連線符和符#的使用C++
- Generator 函式的含義與用法函式
- async 函式的含義和用法函式
- Thunk 函式的含義和用法函式
- 徹底搞明白find命令的-mtime引數的含義
- 全概率公式及其含義公式
- 命令列中常見命令用法及explainshell.com的用法命令列AI
- http響應程式碼及其代表的含義HTTP
- mysql explain用法和結果的含義MySqlAI
- co 函式庫的含義和用法函式
- 字串格式化format符號含義+轉義字元含義字串格式化ORM符號字元
- mysql遠端連線命令MySql
- 在命令提示符下常用的oracle命令Oracle
- Shell 中的連線符:&&、||
- top命令的Load average 含義及效能參考基值
- linux的nohup命令的用法。Linux
- 貝葉斯公式及其含義公式
- nslookup命令的常見用法
- 【jar命令的用法詳解】JAR
- CRSCTL和SRVCTL的命令用法
- linux 的xargs命令用法Linux
- Linux 命令“ls ” 的用法Linux
- Promise含義及基本用法Promise
- 資料庫的連線、索引和Redis的五種資料型別及其操作命令、使用場景資料庫索引Redis資料型別
- Linux中的特殊符號含義及作用!Linux符號
- 什麼是命令注入?如何形成的?
- 三類遠端連線命令
- 命令列遠端連線mysql命令列MySql
- linux 命令列連線 VPNLinux命令列