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