概述
命令執行漏洞是指可以隨意執行系統命令,屬於高危漏洞之一,也屬於代碼執行範圍內
導致原因
- 代碼過濾不嚴格
- 系統漏洞
- 調用第三方組件
如:php(system(),shell_exec(),exec(),eval())、 java(struts2)、thinkphp(老牌的php框架)等
&、&&、|、||
再windows和linux的命令執行中,都有同樣的效果
&& command1 && command2 命令順序執行,當command1命令正確時,纔會執行後邊的命令
& command1 & command2 命令順序執行,不論command1是否正確,都會執行後邊的命令
| command1 | command2 只執行command2的命令,command1是否正確沒有任何影響
|| command1 || command2 只執行commad1的命令,command1錯誤,就執行command2
步驟
- 先用&&、&、|、||判斷是否有命令注入
- 並查是否有過濾
- 是否能繞過
漏洞復現
dvwa
LOW
Medium
嘗試&和|
繞過
High
impossible