什麼是命令注入?如何形成的?
在網路安全領域,我們經常會看到或聽到一些比較陌生的專業術語,比如“命令注入”,那麼什麼是命令注入?如何形成的?具體內容請看下文。
什麼是命令注入?
Command Injection,即命令注入攻擊,是指由於嵌入式應用程式或者web應用程式對使用者提交的資料過濾不嚴格,導致駭客可以透過構造特殊命令字串的方式,將資料提交至應用程式中,並利用該方式執行外部程式或系統命令實施攻擊,非法獲取資料或者網路資源等。
在命令注入的漏洞中,最為常見的是PHP的命令注入。PHP命令注入攻擊存在的主要原因是web應用程式設計師在應用PHP語言中一些具有命令執行功能的函式時,對使用者提交的資料內容沒有進行嚴格的過濾就帶入函式中執行而造成的。例如,當駭客提交的資料內容為向網站目錄寫入PHP檔案時,就可以透過該命令注入攻擊漏洞寫入一個PHP後門檔案,進而實施進一步的滲透攻擊。
原理:Web應用在呼叫這些函式執行系統命令的時候,在沒有做好過濾使用者輸入的情況下,如果使用者將自己的輸入作為系統命令的引數拼接到命令列中,就會造成命令注入的漏洞。
命令注入攻擊是如何形成的?
嵌入式應用程式或者web應用程式有時需要呼叫一些系統命令的函式,如Linux C中的system(),exec(),shell-exec()等等,當使用者能夠控制這些函式中的引數時,就可以將惡意參系統命令拼接到正常命令中,從而造成命令注入攻擊裝置系統。
命令注入的形成需要如下三個條件:
1、使用了內部呼叫shell的函式:system(),exec()等。
2、將外界傳入的引數沒有足夠的過濾,直接傳遞給內部呼叫shell的函式。
3、引數中shell的元字元沒有被轉義。
危害:繼承嵌入式應用程式或者web應用程式的許可權去執行系統命令讀寫執行檔案,導致系統有可能會被惡意攻擊或者洩露系統使用者資訊。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2947487/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 高山是如何形成的
- 什麼是依賴注入依賴注入
- 報表的 SQL 注入風險是什麼意思?如何防範?SQL
- 什麼是HTTP標頭注入?HTTP
- 什麼是控制反轉(IOC)?什麼是依賴注入?依賴注入
- Linux管道命令是什麼?如何使用?Linux
- 電子遊戲文化是如何形成的?遊戲
- 什麼是git subcommand,如何建立git子命令?Git
- linux備份資料夾的命令是什麼?如何使用?Linux
- Linux如何備份資料夾?常用的命令是什麼?Linux
- Linux裡面歸檔命令是什麼?如何使用?Linux
- Linux命令列提示符是什麼?如何使用?Linux命令列
- Linux grep命令如何使用?語法格式是什麼?Linux
- Linux如何修改檔案?常用命令是什麼?Linux
- 什麼是如何把握波段操作?波段操作的原則是什麼
- Linux系統中進入目錄的命令是什麼?如何使用?Linux
- DNS 是什麼?如何運作的?DNS
- Git是什麼?Git基本命令+工作區命令Git
- Linux中useradd命令如何使用?常用引數是什麼?Linux
- Linux如何過濾控制字元?常用命令是什麼?Linux字元
- 什麼是介面,如何理解
- jQuery是什麼?如何使用?jQuery
- 腦裂是什麼?Zookeeper是如何解決的?
- 一文秒懂什麼是依賴注入, Ioc容器依賴注入
- 前端進階之什麼是BFC?BFC的原理是什麼?如何建立BFC?前端
- Linux修改檔名命令是什麼?Linux
- 依賴注入?依賴注入是如何實現解耦的?依賴注入解耦
- Linux chattr命令有哪些作用?命令格式是什麼?Linux
- 什麼是代理以及它是如何工作的?
- Linux中什麼是工作目錄?linux cd命令如何使用?Linux
- Java是什麼_Java是做什麼的?Java
- NLA是什麼?NLA的原理是什麼?
- 什麼是 Opcache,如何使用 Opcacheopcache
- Linux中的bind是什麼意思?有哪些命令?Linux
- Webpack的熱更新是如何做到的?原理是什麼?Web
- 簡單解釋什麼是 依賴注入 和 控制反轉依賴注入
- Linux中type命令有什麼作用?語法格式是什麼?Linux
- 為什麼需要依賴注入依賴注入