前言DVWA全称 Damn Vulnerable Web Application是一个专门为安全人员、渗透测试人员、网络安全爱好者设计的练习靶场。它是一个搭建在 Web 服务器上的故意设置了很多漏洞的网站供人练习攻击和防护技巧。简单说就是一个故意很脆弱的网站让你安全地、合法地去学 Web 攻击和防御接下来是暴力破解模块不同等级的攻略方式和思路仅供参考。以下方法我均使用 Burp Suite 进行测试。一、Brute Force暴力破解Brute Force暴力破解是一种最简单且直观的密码破解方法其原理是通过尝试所有可能的密码组合直到找到正确的密码。暴力破解不依赖任何智能猜测或算法优化而是通过穷举法逐一测试所有可能的密码或密钥。其基本原理如下1. 密码空间攻击者首先需要知道密码的长度和可能的字符集例如字母、数字、特殊字符等。这些信息决定了暴力破解所需尝试的所有可能密码的数量。2. 穷举法攻击者会从所有可能的密码组合开始尝试逐个尝试直到匹配正确的密码。例如如果密码是 4 位数字且只使用数字字符0-9那么密码空间就是从 0000 到 9999 共 10,000 种可能暴力破解就会从 0000 开始依次尝试所有组合。二、Low 级别首先调整DVWA靶场难度等级为Low2.1 源码分析打开DVWA Low级别的源码可以看到代码逻辑非常简单粗暴。首先用户名和密码直接通过$_GET接收没有任何过滤直接拼进SQL查询里。其次整个代码里找不到任何限速、锁定、验证码机制——也就是说你可以一秒钟发几百个请求服务器照单全收。唯一值得注意的是密码用了md5()处理但这对暴力破解毫无影响因为Burp发的是明文服务器自己会哈希。登录成功和失败返回的响应长度不同这正是Burp Intruder用来筛选正确密码的关键。2.2 攻击步骤Step 1打开 DVWA进入 Brute Force 模块Step 2使用 Burp Suite 抓包输入任意用户名和密码点击 Login在 Burp 中拦截请求Step 3发送到 Intruder右键 → Send to IntruderStep 4配置攻击参数攻击类型集群炸弹攻击标记 username和password 参数位置Step 5设置 Payload选择密码字典选择自己提前准备好的密码字典将Payload1和2都添加上字典Step 6开始攻击并分析结果点击 Start attack观察响应长度成功标志响应长度与其他请求明显不同2.3 结果✅成功爆破出账号密码admin / password三、Medium 级别3.1 源码分析分析Medium 级别在登录失败时增加了 2 秒延迟用于减缓暴力破解速度。3.2 攻击步骤Step 1设置安全级别为 MediumStep 2同样使用 Burp Suite 抓包Step 3发送到 Intruder配置与 Low 级别相同Step 4开始攻击注意由于有 sleep(2) 延迟每个请求需要等待 2 秒爆破时间较长Step 5分析结果按响应长度排序找出异常值3.3 结果✅成功爆破出账号密码admin / password四、High 级别4.1 源码分析// 此处插入 High 级别源码截图// 关键代码user_token 验证分析High 级别增加了CSRF Token验证每次请求都需要携带正确的 Token且 Token 每次更新。4.2 攻击步骤Step 1设置安全级别为 HighStep 2抓包分析 Token可以看到请求中多了 user_token 参数Step 3发送到 Intruder选择 Pitchfork 攻击类型标记两个位置password、user_tokenStep 5配置 PayloadsPayload 1password → Simple list → 密码字典Payload 3user_token → Recursive grep递归提取Step 6设置 Recursive Grep 正则再第二个token参数设置的时候选择settings设置设置参数提取即每次都要提取数据包中的token值接下来需要创建资源池因为 High 级别有 CSRF Token 保护每次请求必须等上一个请求完成后才能获取新的 token所以必须设置最大并发请求数为 1。然后再设置选项里将最大失败的尝试数改为1再打开重定向Step 7开始攻击Step 8分析结果在 Burp Suite Intruder 中将结果按长度列排序后首先排除那些没有有效 user_token 值的异常响应长度约 4753 字节这些属于请求异常或 Token 失效的情况。在剩余带有有效 Token 的响应中观察到一个唯一的长度异常值——请求 #2 的响应长度为 4762 字节明显区别于其他请求的 4724 字节。这种长度差异源于登录成功后页面返回了额外的用户会话信息而失败响应仅返回固定的错误提示。据此判定Payload 为password的请求成功绕过 CSRF Token 防护完成身份认证账号admin的密码确认为password。4.3 结果✅成功爆破出密码password五、总结级别防护机制绕过难度实际效果Low无⭐极易爆破Mediumsleep(2)⭐⭐可绕过HighCSRF Token⭐⭐⭐⭐较好防护防护建议1. 使用强密码策略2. 限制登录尝试次数3. 添加验证码4. 使用多因素认证 (MFA)──────────────────────────────────────────────────⚠️声明本文仅用于学习网络安全知识请勿用于非法渗透。下期预告Command Injection命令注入