DVWA下的爆破(高难度)
字数 1295 2025-08-15 21:32:12
DVWA爆破攻击高级防御机制分析与绕过技术
1. 高难度级别爆破攻击概述
DVWA(Damn Vulnerable Web Application)的高难度级别在爆破攻击中引入了Anti-CSRF token机制,使得传统的爆破技术失效。本文详细分析其防御机制及相应的绕过技术。
2. 高难度级别防御机制分析
2.1 Anti-CSRF Token机制
// Check Anti-CSRF token
checkToken( $_REQUEST[ 'user_token' ], $_SESSION[ 'session_token' ], 'index.php' );
- 作用原理:
- 防止表单重复提交
- 用于身份验证,每次请求中的user_token都不同
- 服务器优先检查token,即使密码正确但token无效也会导致登录失败
2.2 输入过滤机制
// 用户名过滤
$user = stripslashes( $user );
$user = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $user );
// 密码过滤
$pass = stripslashes( $pass );
$pass = mysqli_real_escape_string($GLOBALS["___mysqli_ston"], $pass );
$pass = md5( $pass );
- 防御措施:
stripslashes():去除反斜线mysqli_real_escape_string():防止SQL注入- 密码MD5哈希处理
3. 绕过Anti-CSRF Token的爆破技术
3.1 攻击流程
- 抓取登录请求:提交登录请求并抓包
- 分析请求结构:发现包含
user_token字段 - 使用Burp Suite Intruder模块:
- 攻击模式改为
pitchfork - 标记
user_token值为变量($标签)
- 攻击模式改为
3.2 关键配置步骤
-
Payload设置:
- Payload1和Payload2保持为用户名和密码字典
- Payload3设置为"Recursive grep"模式
-
Grep-Extract配置:
- 在Options中找到Grep-Extract
- 添加
user_token提取规则 - 记录初始
user_token值
-
Payload3初始值:
- 设置为从响应中提取的初始
user_token
- 设置为从响应中提取的初始
3.3 攻击执行与结果分析
- 执行爆破攻击
- 查找响应长度异常的请求
- 手工验证找到的用户名和密码组合
4. 不可能(Impossible)级别增强防御
4.1 额外防御机制
// 登录失败计数
$total_failed_login = 3;
$lockout_time = 15; // 分钟
$account_locked = false;
// 账户锁定检查
if( ( $data->rowCount() == 1 ) && ( $row[ 'failed_login' ] >= $total_failed_login ) ) {
$last_login = strtotime( $row[ 'last_login' ] );
$timeout = $last_login + ($lockout_time * 60);
if( time() < $timeout ) {
$account_locked = true;
}
}
- 防御特性:
- 3次失败登录后账户锁定15分钟
- 使用PDO预处理语句防御SQL注入
- 随机延迟响应(2-4秒)增加爆破时间成本
4.2 安全增强总结
- 账户锁定机制:防止暴力枚举
- PDO预处理:更安全的SQL查询方式
- 响应延迟:增加爆破时间成本
- 详细日志:记录失败登录次数和时间
5. 技术总结与防御建议
5.1 爆破攻击演进
| 难度级别 | 主要防御措施 | 可爆破性 |
|---|---|---|
| 低 | 无特殊防御 | 极易 |
| 中 | 基本过滤 | 容易 |
| 高 | Anti-CSRF Token | 需特殊技术 |
| 不可能 | 账户锁定+PDO+延迟 | 极难 |
5.2 安全开发建议
- 始终使用CSRF Token:所有敏感操作都应验证Token
- 实施账户锁定:合理设置失败尝试次数和锁定时间
- 使用预处理语句:PDO或MySQLi预处理防御SQL注入
- 增加时间成本:随机延迟响应增加攻击难度
- 密码哈希处理:使用强哈希算法(非MD5)加盐存储
通过分析DVWA不同难度级别的实现,可以全面了解Web应用爆破攻击的防御技术演进路径及相应的攻击绕过方法。