DVWA TOP 10 整理集——Brute_Force,Command Injection,CSRF,File Inclusion,File Uplod(更新中....)

一.Brute_Force(爆破)

①Brute_Force——low、medium

low、medium可直接通过burpsuite密码爆破,攻击类型为集束炸弹,账号密码直接添加也准备好的社工库。

②Brute_Force——High

将DVWA调至high级别,发现用之前的暴力破解就不好使了,因为其使用了随机token机制来防止CSRF,从而在一定程度上防止了重放攻击,增加了爆破难度。但是依然可以使用burpsuite来爆破。

强调一下,这里直接使用burpsuite的前提是在知道攻击者账号的情况下,使用音叉密码和token一一对应,爆破,若要不知道账号爆破,就应该采取自己写脚本破解获取token值绕过利用xss注入嵌入脚本图片,读取页面,获取token,再进行密码爆破(个人理解)。

1. 将登录请求进行拦截,发现增加了user_token参数,所以爆破要选择两个参数来进行,先将请求发送到intruder(测试器)。

 2.攻击模式选择Pitchfork(音叉),清除所有变量,并分别添加&password、&user_token的值为变量,然后进入有效载荷

 3.分别在有效负载集1 的列表单添加(add)密码社工库,手动添加也可以,点击进入选项。

 4.将线程数设置为1

 5.将关注重定向(Redirections)设置为总是(Always)

 6.在Grep-Extract中,点击Add添加,意思是用于提取响应消息中的有用信息,进入下一页面。

 7.首先点击获取回复,记下来就会浮现出html代码,查找所要索取的token值,选取标红,并复制,完事点ok。

 8.回到有效载荷界面,如图步骤操作。

9.在爆破结束后,可以按照长度排列,发现,2行的密码为password最为显眼,经验证,密码正确。

二.Command Injection (命令行注入)

命令连接符”&&“,”&“,”||“,”|“的区别:

命令1”&&“命令2        命令1执行成功的条件下才会执行命令2

命令1”&“命令2          命令1执行无论成功与否都会执行命令2

命令1”||“命令2          命令1执行失败的条件下才会执行命令2

命令1”|“命令2           “|”是管道符,表示将命令1的输出作为命令的输入,并且只打印命令2执行的结果。

①Command Injection——Low

源代码:

<?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>";
}

?> 

漏洞利用

        由代码可知,没有对命令连接符的过滤,因此可以使用“&&","&","||","|"符号来连接命令。
命令:127.0.0.1&& echo 123

②Command Injection——Medium

源代码:

<?php

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

    // Set blacklist
    $substitutions = array(
        '&&' => '',
        ';'  => '',
    );

    // Remove any of the charactars in the array (blacklist).
    $target = str_replace( array_keys( $substitutions ), $substitutions, $target );

    // 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>";
}

?> 

        相比Low级别的代码,服务器端对ip参数做了一定过滤,即把"&&",";"删除,本质上采用的是黑名单机制,因此依旧存在安全问题。

漏洞利用
        因为被过滤的只有"&&"与" ;",所以"&","|","||"的使用并不会受影响。

命令:127.0.0.1& echo 123

③Command Injection——High

源代码:

<?php

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

    // Set blacklist
    $substitutions = array(
        '&'  => '',
        ';'  => '',
        '| ' => '',
        '-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊爱学习.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值