DVWA系列Command Injection

本文详细介绍了DVWA中的Command Injection漏洞,包括Low、Medium和High三个安全级别的实现方式和存在的问题。通过分析代码和执行测试,揭示了命令注入的危害,强调了过滤输入的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Command Injection,即命令注入,是指通过提交恶意构造的参数破坏命令语句结构,从而达到执行恶意命令的目的。PHP命令注入攻击漏洞是PHP应用程序中常见的脚本漏洞之一,国内著名的Web应用程序Discuz!、DedeCMS等都曾经存在过该类型漏洞

Command Execution命令执行漏洞的产生原因一般就是将用户输入未经过滤或者过滤不严就直接当作系统命令进行执行,通过批处理技巧来一次执行多条命令,这样就可以执行任意命令。

在命令执行中,常用的连接符号有四个:&& & || | ;
&&:先执行前一个指令,执行成功后,继续执行后面的指令
||:先执行前一个指令,执行失败后,再执行后一个指令
&:用于直接连接后面的多条指令
|:管道符,将前面的命令执行结果,作为后一条命令的参数输入
;:用于连接多个命令

1、首先打开dvwa的command Execution


2、在view source下观察三种不同安全级别的代码,可以发现如下信息。

Low Command Execution Source

<?php

if( isset( $_POST[ 'submit' ] ) ) {

    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if (stristr(php_uname('s'), 'Windows NT')) { 
    
        $cmd = shell_exec( 'ping  ' . $target );
        echo '<pre>'.$cmd.'</pre>';
        
    } else { 
    
        $cmd = shell_exec( 'ping  -c 3 ' . $target );
        echo '<pre>'.$cmd.'</pre>';
        
    }
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值