命令执行——命令执行漏洞概述(一)
普及內容
了解命令執行定義
了解命令執行條件
掌握命令執行成因
了解命令執行危害
掌握命令執行實例
掌握管道符號和通用命令符
了解命令執行常見場景
基礎概念
命令執行定義
基本定義
命令執行漏洞是指攻擊者可以隨意執行系統命令,分為遠程命令執行(遠程代碼執行)和系統
命令執行兩類
原理
程序應用有時需要調用一些執行系統命令的函數,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,當用戶能控制這些函數中的參數時,就可以將惡意系統命
令拼接到正常命令中,從而造成命令執行攻擊。
命令執行的條件
兩個條件
用戶能夠控制的函數輸入
存在可以執行代碼或者系統命令的危險函數
命令執行成因
命令執行漏洞產生的原因
由于開發人員編寫源碼時,沒有針對代碼中可執行的特殊函數入口做過濾,導致客戶端
可以提交惡意構造語句,并提交服務端執行
命令注入攻擊中,Web服務器沒有過濾類似system、eval和exec等函數,是該漏洞攻擊
成功的主要原因。
命令執行危害
繼承Web服務程序的權限去執行系統命令(任意代碼)或讀寫文件
反彈shell
控制整個網站甚至控制服務器
進一步內網滲透
命令執行實例
小馬,動態、危險函數調用導致代碼執行等
管道符號和通用命令符
>Linux
;前面的執行完執行后面的
|是管道符,顯示后面的執行結果
||當前面的執行出錯時執行后面的
>Windows
&前面的語句為假則直接執行后面的
&&前面的語句為假則直接出錯,后面的也不執行
|直接執行后面的語句
||前面出錯執行后面的
通用命令符
command1 && command2??????? command1執行成功才執行command2
command1 I command2?????????? 只執行command2
command1 & command2?????????? command1和command2之間互相不影響
命令執行常見場景
Ping主機
DNS請求
Office文檔
框架缺陷
總結
以上是生活随笔為你收集整理的命令执行——命令执行漏洞概述(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: kali Linux/centos7 L
- 下一篇: 命令执行——远程命令执行(二)