概述
命令执行漏洞是指可以随意执行系统命令,属于高危漏洞之一,也属于代码执行范围内
导致原因
- 代码过滤不严格
- 系统漏洞
- 调用第三方组件
如: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