靶场DVWA之Brute Force
字数 1772 2025-08-15 21:32:12
DVWA Brute Force 攻击教学文档
1. 概述
Brute Force(暴力破解)是一种通过系统性地尝试所有可能的组合来破解密码的攻击方法。DVWA(Damn Vulnerable Web Application)提供了不同安全等级的Brute Force实验环境。
2. 实验准备
2.1 所需工具
- Burp Suite(用于拦截和修改HTTP请求)
- 密码字典(可从在线生成或使用Kali Linux自带字典)
2.2 环境配置
- 配置浏览器代理(通常为127.0.0.1:8080)
- 启动Burp Suite并开启拦截功能
3. 不同安全等级的破解方法
3.1 LOW等级
攻击步骤:
- 在DVWA前端随意输入用户名和密码
- 点击Login,Burp Suite会捕获请求
- 将捕获的包发送到Intruder模块
- 在Intruder模块中:
- 选择攻击类型为"Cluster bomb"
- 设置用户名和密码字段为爆破点
- 配置两个字典(用户名字典和密码字典)
- 开始攻击,分析结果:
- 查找响应长度不同的请求
- 查看Response获取有效凭证
已知有效凭证:
- admin / 123456
- pablo / letmein
- 1337 / charley
漏洞分析:
- 无任何输入过滤
- 存在SQL注入漏洞,可使用
admin' #或admin' or '1'='1进行无密码登录
3.2 MEDIUM等级
攻击方法:
- 与LOW等级基本相同
- 区别:增加了对部分SQL特殊字符的过滤
3.3 HIGH等级
新增防护:
- 引入了user_token机制
- 每次请求需要携带服务器生成的token
攻击步骤:
- 捕获登录请求(包含user_token)
- 发送到Intruder模块
- 设置:
- 攻击类型为"Pitchfork"
- 爆破点:password和user_token
- 配置:
- 在Options > Grep-Extract中提取token
- 设置Redirections为"Always"
- Payload设置:
- Payload1:密码字典
- Payload2:类型为"Recursive grep",填入token值
- 开始攻击,分析结果
关键点:
- Pitchfork模式:同步迭代多个payload组
- Recursive grep:自动从响应中提取token用于下一次请求
3.4 IMPOSSIBLE等级
防护措施:
- 保留token机制
- 添加登录失败次数限制
- 失败多次后锁定账户(如15分钟内无法登录)
攻击结果:
- 无法完成暴力破解
- 达到安全防护目的
4. 技术细节解析
4.1 Burp Suite攻击类型
| 攻击类型 | 描述 | 适用场景 |
|---|---|---|
| Sniper | 单个payload集,逐个位置测试 | 单个参数测试 |
| Battering ram | 同一payload集应用于所有位置 | 多个位置使用相同值 |
| Pitchfork | 多个payload集同步迭代 | 需要关联参数(如用户名+密码) |
| Cluster bomb | 多个payload集笛卡尔积 | 独立参数组合(如用户名×密码) |
4.2 Token机制解析
Token组成要素:
- uid:用户唯一标识
- time:当前时间戳
- sign:基于哈希算法的签名(通常为token前几位)
作用原理:
- 首次登录时服务器生成token
- 后续请求需携带有效token
- 服务器验证token有效性
4.3 防护措施演进
- LOW:无防护
- MEDIUM:基础过滤
- HIGH:动态token
- IMPOSSIBLE:token+尝试限制
5. 防御建议
- 实施账户锁定策略
- 使用强密码策略
- 实现多因素认证
- 采用CAPTCHA验证
- 记录并监控登录尝试
- 使用HTTPS保护传输
- 实现CSRF token机制
6. 总结
DVWA的Brute Force模块展示了从无防护到完善防护的演进过程,通过本实验可以深入理解:
- 暴力破解的原理和实现
- 不同防护措施的有效性
- 安全防护的层次化设计
- 自动化工具在安全测试中的应用
建议按照LOW→MEDIUM→HIGH→IMPOSSIBLE的顺序逐步实验,体会安全防护的逐步加强过程。