靶场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 环境配置

  1. 配置浏览器代理(通常为127.0.0.1:8080)
  2. 启动Burp Suite并开启拦截功能

3. 不同安全等级的破解方法

3.1 LOW等级

攻击步骤:

  1. 在DVWA前端随意输入用户名和密码
  2. 点击Login,Burp Suite会捕获请求
  3. 将捕获的包发送到Intruder模块
  4. 在Intruder模块中:
    • 选择攻击类型为"Cluster bomb"
    • 设置用户名和密码字段为爆破点
    • 配置两个字典(用户名字典和密码字典)
  5. 开始攻击,分析结果:
    • 查找响应长度不同的请求
    • 查看Response获取有效凭证

已知有效凭证:

  • admin / 123456
  • pablo / letmein
  • 1337 / charley

漏洞分析:

  • 无任何输入过滤
  • 存在SQL注入漏洞,可使用admin' #admin' or '1'='1进行无密码登录

3.2 MEDIUM等级

攻击方法:

  • 与LOW等级基本相同
  • 区别:增加了对部分SQL特殊字符的过滤

3.3 HIGH等级

新增防护:

  • 引入了user_token机制
  • 每次请求需要携带服务器生成的token

攻击步骤:

  1. 捕获登录请求(包含user_token)
  2. 发送到Intruder模块
  3. 设置:
    • 攻击类型为"Pitchfork"
    • 爆破点:password和user_token
  4. 配置:
    • 在Options > Grep-Extract中提取token
    • 设置Redirections为"Always"
  5. Payload设置:
    • Payload1:密码字典
    • Payload2:类型为"Recursive grep",填入token值
  6. 开始攻击,分析结果

关键点:

  • 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前几位)

作用原理:

  1. 首次登录时服务器生成token
  2. 后续请求需携带有效token
  3. 服务器验证token有效性

4.3 防护措施演进

  1. LOW:无防护
  2. MEDIUM:基础过滤
  3. HIGH:动态token
  4. IMPOSSIBLE:token+尝试限制

5. 防御建议

  1. 实施账户锁定策略
  2. 使用强密码策略
  3. 实现多因素认证
  4. 采用CAPTCHA验证
  5. 记录并监控登录尝试
  6. 使用HTTPS保护传输
  7. 实现CSRF token机制

6. 总结

DVWA的Brute Force模块展示了从无防护到完善防护的演进过程,通过本实验可以深入理解:

  • 暴力破解的原理和实现
  • 不同防护措施的有效性
  • 安全防护的层次化设计
  • 自动化工具在安全测试中的应用

建议按照LOW→MEDIUM→HIGH→IMPOSSIBLE的顺序逐步实验,体会安全防护的逐步加强过程。

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的顺序逐步实验,体会安全防护的逐步加强过程。