命令注入--命令連接符


 

linux服務器

;(分號)

命令按照順序(從左到右)被執行,並且可以用分號進行分隔。當有一條命令執行失敗時,不會中斷其它命令的執行

eg:ping -c 4 127.0.0.1;sleep 6  //兩條都是有效命令

        test;sleep 6 //test無效命令,即執行失敗,sleep一樣執行

 

|(管道符)

通過管道符可以將一個命令的標准輸出管道為另外一個命令的標准輸入。當第一條命令失敗時,它仍然會執行第二條命令

eg:ping -c 4 127.0.0.1|sleep 6 

        test|sleep 6

&(后台任務符號)

命令按照順序(從左到右)被執行,跟分號作用一樣;此符號作用是后台任務符號使shell在后台執行該任務,這樣用戶就可以立即得到一個提示符並繼續其他工作

root@ubuntu: d & e & f
        [1] 14271
        [2] 14272

        后台執行任務d和e,而在前台執行任務f. shell將作業數目顯示在方括號[ ]中,同時還顯示了在后台運行的每個進程的PID(process identification,進程標識)編號。在f結束后就  會立即得到一個shell提示符

&&(邏輯與)

前后的命令的執行存在邏輯與關系,只有【&&】前面的命令執行成功后,它后面的命令才被執行

eg:ping -c 4 127.0.0.1&&sleep 6  //sleep不執行

        test&&sleep 6  //test無效命令,則sleep執行

       

||(邏輯或)

前后命令的執行存在邏輯或關系,只有【||】前面的命令執行失敗后,它后面的命令才被執行;

eg:ping -c 4 127.0.0.1||sleep 6  //都執行

        test||sleep 6  //test無效命令,則sleep不執行

 

`反引號

當一個命令被解析時,它首先會執行反引號之間的操作。例如執行echo `ls -a` 將會首先執行ls並捕獲其輸出信息。然后再將它傳遞給echo,並將ls的輸出結果打印在屏幕上,這被稱為命令替換

eg:ping -c 4 127.0.0.1`sleep 6`

 

$(command)

這是命令替換的不同符號。當反引號被過濾或編碼時,可能會更有效

eg:ping -c 4 127.0.0.1 $(sleep 6)  

 

命令解析過程:https://blog.csdn.net/huayangshiboqi/article/details/80217150

 

windows服務器

| & || && 跟linux一樣

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM