DVWA V1.9:Brute Force(暴力破解)

Brute Force 介绍

密码破解是从计算机系统中存储或传输的数据中恢复密码的过程。
一种常见的方法是反复尝试对密码进行猜测。

用户经常选择弱密码。
不安全选择的例子包括字典中发现的单个单词、姓氏、任何太短的密码(通常被认为小于6或7个字符)或可预测的模式(例如交替元音和辅音,这被称为LeTalk,因此“密码”变成“p@ 55 W0RD”)。

创建针对目标生成的有针对性的词表,通常给出最高的成功率。
这里有一些公共工具,将基于公司网站、个人社交网络和其他常见信息(如生日或毕业年)的组合来创建词典。

最后一个办法是尝试所有可能的密码,称为蛮力攻击。
理论上,如果没有尝试次数的限制,暴力攻击总是成功的,因为可接受密码的规则必须是公开的;但是随着密码长度的增加,可能的密码的数量也会增加攻击时间。
在这里插入图片描述

Low 级别

核心代码

<?php

if( isset( $_GET[ 'Login' ] ) ) {
   
    // Check Anti-CSRF token
    checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );

    // Sanitise username input
    $user = $_GET[ 'username' ];
    $user = stripslashes( $user );
    $user = mysql_real_escape_string( $user );

    // Sanitise password input
    $pass = $_GET[ 'password' ];
    $pass = stripslashes( $pass );
    $pass = mysql_real_escape_string( $pass );
    $pass = md5( $pass );

    // Check database
    $query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
    $result = mysql_query( $query ) or die( '<pre>' . mysql_error() . '</pre>' );

    if( $result && mysql_num_rows( $result ) == 1 ) {
   
        // Get users details
        $avatar = mysql_result( $result, 0, "avatar" );

        // Login successful
        echo "<p>Welcome to the password protected area {
     $user}</p>";
        echo "<img src=\"{
     $avatar}\" />";
    }
    else {
   
        // Login failed
        sleep( rand( 0, 3 ) );
        echo "<pre><br />Username and/or password incorrect.</pre>";
    }

    mysql_close();
}

// Generate Anti-CSRF token
generateSessionToken();

?>

可以看到,服务器只是验证了参数Login是否被设置(isset函数在php中用来检测变量是否设置,该函数返回的是布尔类型的值,即true/false),没有任何的防爆破机制,且对参数username、password没有做任何过滤,存在明显的sql注入漏洞

官方提示

开发商完全错过了任何保护方法允许任何人尝试他们希望的次数,登录到任何用户没有任何影响。

漏洞利用

方法一:
使用burp抓包,发到intruder模块,加载字典进行爆破。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
根据返回长度可以判断password为密码,使用admin和password登录,是ok的。
在这里插入图片描述
在这里插入图片描述
方法二:
我们发现它存在sql注入漏洞,进行利用。

admin' 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值