成都创新互联网站制作重庆分公司

DVWA系列之7low级别命令执行漏洞

下面我们开始分析DVWA中的Command Execution命令执行漏洞。

成都创新互联于2013年开始,先为荣昌等服务建站,荣昌等地企业,进行企业商务咨询服务。为荣昌企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

首先仍是将DVWA Security设置为Low,选择Command Execution,这里在文本框中输入一个IP,点击Submmit提交便可以执行ping命令。

点击“View Source”查看网页源码。

DVWA系列之7 low级别命令执行漏洞

可以看到,这里的数据是以post方式提交过来的,然后被赋值给了变量$target。

接下来有一个if语句,判断条件是“stristr(php_uname('s'), 'Windows NT')”,这是用来判断当前的系统是否是Windows,因为Windows和Linux下的ping命令执行参数是不同的。

再下面是将函数“shell_exec( 'ping ' . $target )”的值赋值给变量$cmd,并输出$cmd的值,其实也就是在执行“shell_exec( 'ping ' . $target )”函数,因而shell_exec()函数就是这里的核心了。

shell_exec()函数的作用就是可以在PHP中去执行操作系统命令,因而如果不对用户输入的命令进行过滤,那么理论上就可以执行任意系统命令,也就相当于直接获得了系统级的Shell,因而命令包含漏洞的威力相比SQL注入要大多了。

比如我们在文本框中输入“127.0.0.1 | net user”,实际上就是通过管道符“|”去执行了“net user”命令。明白了原理之后,那么我们完全可以继续执行“127.0.0.1 | net user test 123 /add”、“127.0.0.1 | net localgroup administrators test /add”命令,从而拿下整个服务器

在DOS下允许同时执行多条命令的符号主要有以下几个:

  • “|”:前面命令输出结果作为后面命令的输入内容;

  • “||”:前面命令执行失败的时候才执行后面的命令;

  • “&”:前面命令执行后接着执行后面的命令;

  • “&&”:前面命令执行成功了才执行后面的命令。

如果是Linux系统,还可以使用分号(;),也可以同时执行多条命令。

另外还可以使用重定向(>)在服务器中生成文件,或是使用(<)从事先准备好的文件读入命令等。

最后,大家可以分别用上面这些符号,自己来构造语句去执行相应的命令。


分享标题:DVWA系列之7low级别命令执行漏洞
标题网址:http://cxhlcq.com/article/ggijeo.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部