简单叙述命令执行注入

管理员 2020-01-14 PM 219℃ 0条

概述

命令执行漏洞是指可以随意执行系统命令,属于高危漏洞之一,也属于代码执行范围内

导致原因

  • 代码过滤不严格

  • 系统漏洞

  • 调用第三方组件


    如: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

步骤

  1. 先用&&、&、|、||判断是否有命令注入

  2. 并查是否有过滤

  3. 是否能绕过

漏洞复现

实验环境,DVWA的low级别,Command Injection

从网页页面我们知道这是提供了ping服务的页面

红色字符是不是很熟悉?没错,这跟我们在windows系统下的ping命令是一样的,所以我们猜测应该是网页调用了系统函数。

然后我们使用&符号,进行命令注入

可以看到命令注入成功,并且回显了执行结果

漏洞分析

查看页面源码,发现使用了shell_exec()函数,并且没有进行输入过滤。

更多高级的绕过技术,等待后期分析

标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~