OS命令注入學習筆記
阿新 • • 發佈:2021-10-14
產生原因
命令注⼊是⼀種通過存在漏洞的應用程式向主機作業系統執行任意命令的漏洞。Web開發所使用的程式語言中,大多數都能通過Shell執行OS(作業系統)命令。通過Shell執行OS命令時,或者開發中用到的某個方法其內部利用了Shell時,就有可能出現OS命令被任意執行的情況。通常情況下。當應用程式對使用者提供的資料(表 單,cookie,http 頭)不進行檢測傳遞給系統 shell,輸入驗證不足造成os命令注入。
危害
os命令注入中,攻擊者提供的作業系統命令通常以易受攻擊的應用程式特權執行。所以危害比較嚴重。
os命令注入常用符號
1.&&
命令之間用&&連線,邏輯與,左邊命令返回真,右邊命令執行。一個為假後面就不執行。
2.|(管道符號)
上一條命令的輸出作為下一條命令的引數
3.||
||command 2 || command3
邏輯或
前面為假後面命令才會執行
4.&
表示將任務置於後臺執行
5.;(分號)
多行語句可用換行區分程式碼塊,單行語句一般用分號區分程式碼塊。
6.`` 和$()
用來做命令替換?用來過去到變數的內容,如果反引號或者$()中的內容是一條命令,則輸出的是命令執行的內容。詳細參見https://blog.csdn.net/mrmengj/article/details/112237465
7.( )和{ }
用來執行多條命令
8.shell 輸入輸出重定向
command>file 輸出重定向到檔案 file:檔名
command<file 輸入重定向到檔案 file:檔名
9.正則表示式 及通用字元簇
bypass https://xz.aliyun.com/t/3918 還在學習