使用 Burp Suite 攻破 DVWA Brute Force 模块(Low-Medium-High)
DVWA(Damn Vulnerable Web Application)是一个用于安全测试和学习的 Web 应用程序,包含多个漏洞模块。其中 Brute Force 模块常用于测试暴力破解攻击。本篇记录使用 Burp Suite v2026.4.2 在 Low、Medium、High 三个等级下的测试方法。
一、Low
- 设置浏览器代理为 Burp Suite,访问 DVWA Brute Force 模块。
- 打开 Burp Suite 拦截:Proxy -> Intercept -> Intercept on。
- 在浏览器输入用户名与密码
123456并登录,Burp Suite 会拦截请求。 - 在 Burp Suite 中选中请求,点击
Send to Intruder。
- 进入 Intruder,框选密码位置(如
123456),点击Add。
- 在 Payloads 中加载密码字典(如
rockyou.txt),开始攻击。但Burp Suite Community Edition在最需要速率的暴力破解模块限制了速率:(
可先测试前几个密码,并确保包含正确密码password。 - 观察响应长度,通常正确密码对应的响应长度会与错误尝试明显不同。
二、Medium
通过 View Source 可见,Medium 相比 Low 增加了固定 3 秒延时,其余逻辑基本一致,因此攻击流程与 Low 相同。
(虽然这是个不错的策略,但如果我告诉你 Burp Suite Community Edition 已经每次请求间限速超过 3 秒了呢?)
三、High
High 在 Medium 基础上加入了 CSRF Token(参数名 user_token),并将延时改为 0-3 秒随机。
要点是每次请求都需要携带最新 Token,因此需要使用 Burp 的宏自动获取并回填参数。
1. 记录宏 Macro Recorder
- 打开 Proxy settings -> Sessions -> Macros -> Add。
- 选择倒序查看请求,刷新页面后选择新出现的
vulnerabilities/brute/index.php请求并确认。 - 在 Macro Editor 的 Response 中找到隐藏字段:
<input type='hidden' name='user_token' value='...'/>。 - 点击 Configure item -> Add,框选 Token 值并设置 Parameter name 为
user_token。Burp Suite会自动识别位置
2. 添加 Session Handling Rule
- 打开 Proxy settings -> Sessions -> Session handling rules -> Add。
- 在 Rule actions 中添加
Run a macro,选择上一步创建的 Macro。 - 设置Update only the following parameters and headers:
user_token。 - 勾选Tolerate URL mismatch ...,点击OK。
- 在 Scope 中仅保留 Intruder,URL scope 选择 Include all URLs。
3. 发起 Intruder 攻击
按 Low 相同步骤执行后,不再出现旧 Token 导致的无效响应304。Burp 会在每次尝试前自动获取新 Token,从而绕过防护并最终通过响应差异识别正确密码 password。