DVWA使用教程(Brute Force)(一)

这篇博客详细介绍了DVWA中的Brute Force模块,包括各个安全等级的防护措施。从low到impossible等级,分析了代码中的漏洞和防护策略,如SQL注入防御、token校验和用户输入过滤。还提到了使用Burp Suite进行爆破攻击的步骤,以及如何利用注入方法在low模块中登录。

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

DVWA使用教程(Brute Force)(一)

DVWA是一个用来练习Web渗透的PHP应用。共有十个模块,分别是
1.Brute Force(爆破)

2.Command Injection(命令注入)

3.CSRF(跨站请求伪造)

4.File Inclusion(文件包含)

5.File Uplod(文件上传)

6.Insecure CAPTCHA(不安全的验证码)

7.SQL Inj(SQL注入)

8.SQL B Inj(SQL盲注)

9.XSS-ref(反射型xss)

10.xss-stored(存储型xss)


一、    简介
Brute Force通过登录页面进入到该漏洞的测试位置。
这个模块是用来测试暴力破解工具和展示不安全的开发实现。 

二、    功能特点
耗费时间比较长,基本是软件自动化测试,枚举完成所有请求,攻击开始后,手工操作的部分非常有限。


三、    各防护等级简介
low等级,对爆破攻击行为毫无设防。
medium等级,对爆破攻击行为防护不足,防护做法欠考虑。
hight等级,对爆破攻击行为有一定防护,但有疏忽。
impossible等级,对爆破攻击行为正确防护。


四、low代码模块剖析
概述:low等级,对爆破攻击行为毫无设防。

<?php
if( isset( $_GET[ 'Login' ] ) ) {
    // Get username
    $user = $_GET[ 'username' ];
    // Get password
    $pass = $_GET[ 'password' ];
    $pass = md5( $pass );
    // Check the database
    $query  = "SELECT * FROM `users` WHERE user = '$user' AND password = '$pass';";
    $result = mysqli_query($GLOBALS["___mysqli_ston"],  $query ) or die( '<pre>' . ((is_object($GLOBALS["___mysqli_ston"])) ? mysqli_error($GLOBALS["___mysqli_ston"]) : (($___mysqli_res = mysqli_connect_error()) ? $___mysqli_res : false)) . '</pre>' );
    if( $result && mysqli_num_rows( $result ) == 1 ) {
        // Get users details
        $row    = mysqli_fetch_assoc( $result );
        $avatar = $row["avatar"];
        // Login successful
        echo "<p>Welcome to the password protected area {$user}</p>";
        echo "<img src=\"{$avatar}\" />";
    }
    else {
        // Login failed
        echo "<pre><br />Username and/or password incorrect.</pre>";
    }
    ((is_null($___mysqli_res = mysqli_close($GLOBALS["___mysqli_ston"]))) ? false : $___mysqli_res);
}
?> 

根据代码可以得知
1.isset函数用来检测变量是否设置,并且不是 NULL。
2.用户可以完全控制该参数,传参时给Login赋值即可满足条件继续执行。
3.无论用户名还是密码都没有经过任何的过滤和检查。
4.用户输入的用户名将原封不动传递到SQL语句中。
5.用户输入的密码将进行md5散列后传递到SQL语句中。 

爆破尝试,步骤如下。
 
 
 
通过配置option选项可以让结果更直观些。

五、medium代码模块剖析
概述:medium等级,对爆破攻击行为防护不足,防护做法欠考虑。

<?php
if( isset( $_GET[ 'Login' ] ) ) {
    // Sanitise username input
    $user = $_GET[ 'username' ];
    $user = ((isset($GLOBALS["___mysqli_ston"]) && is_object($GLOBALS["___mysqli_sto
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值