DVWA——Command Injection(low)

Command Injection

界面

在这里插入图片描述

源代码


<?php

if( isset( $_POST[ 'Submit' ]  ) ) {
    // Get input
    $target = $_REQUEST[ 'ip' ];

    // Determine OS and execute the ping command.
    if( stristr( php_uname( 's' ), 'Windows NT' ) ) {
        // Windows
        $cmd = shell_exec( 'ping  ' . $target );
    }
    else {
        // *nix
        $cmd = shell_exec( 'ping  -c 4 ' . $target );
    }

    // Feedback for the end user
    echo "<pre>{$cmd}</pre>";
}

?>

代码分析

通过点击submit将输入的ip获取出来,并判断当前提交ip的机器的类型,若是windows则使用:ping ip方式进行ping操作;若是其他机型,则使用:ping -c 4 ip的操作进行ping

渗透步骤

       第一步:分析代码,可以看到代码并没有对用户输入的ip进行合法判断,直接进行ping操作。通过使用ip&&其他命令的方式,可以使电脑输出其他除ping之外的结果,访问敏感数据。
       第二步:正常输入127.0.0.1,ping自己的电脑
在这里插入图片描述
第三步:通过构造127.0.0.1 && dir,查看服务器当前文件夹
在这里插入图片描述

分析可能用到的构造语句

       第一个:ip && 其他命令
              即执行ping ip操作之后执行其他命令
       第二个:ip & 其他命令
              执行第一个命令,不管成功与否,都执行后面的其他命令
       第三个:(ip)| 其他命令
              ip可以不写,把一个的结果用作第二个的输入,只打印第二个命令的结果

可能用到的命令

       使用dir代替linux下的ls命令
       使用type代替linux下的cat命令

遇到的问题

       DVWA乱码
       解决方法:将WWW\DVWA\dvwa\includes文件夹下的dvwaPage.inc.php文件里的utf-8全部改为GBK

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值