burpsuite官方靶场之验证篇
字数 2376 2025-08-10 14:13:03

Burp Suite官方靶场验证漏洞实战教学文档

1. 基于密码登录的验证漏洞

1.1 基于不同响应的用户名枚举

攻击目标

枚举有效用户名,暴力破解对应密码,最终访问成功破解的账户。

攻击步骤

  1. 初步探测:发现登录页面必须满足用户名和密码字段非空
  2. 错误响应分析:输入测试payload username=a&password=1,观察特殊报错
  3. 用户名爆破
    • 抓取登录数据包发送到Intruder
    • 设置攻击方式为Sniper,变量为username
    • 使用提供的用户名字典进行爆破
  4. 密码爆破
    • 确定有效用户名(如adsl)
    • 重新设置Intruder变量为password
    • 使用密码字典爆破,发现密码为freedom
  5. 验证登录:使用adsl:freedom成功登录

1.2 巧妙利用不同响应进行用户名枚举

攻击步骤

  1. 观察响应差异:提交测试payload后,注意错误信息的细微差别
  2. 多用户名单一密码爆破
    • 设置两个参数(username和password)的字典
    • 配置从响应中提取特定错误信息
  3. 识别有效用户:发现某些响应缺少英文句号,确定有效用户名为apple
  4. 密码爆破
    • 固定用户名为apple
    • 爆破密码字段,发现密码为1234

1.3 利用响应时间进行用户名枚举

攻击目标

在存在IP封锁防护的情况下枚举用户名并爆破密码。

攻击步骤

  1. 初始探测:提交随机账号密码,观察基础报错
  2. IP封锁分析:发现高频请求导致IP被封锁
  3. 绕过IP封锁
    • 使用BurpFakeIP插件添加随机X-Forwarded-For头
  4. 基于时间的枚举
    • 设置超长password参数值
    • 观察Response Completed时间,最大值为有效用户(att)
  5. 密码爆破:确定密码为1111

技术要点

  • X-Forwarded-For:用于获取原始客户端IP,可被伪造绕过IP封锁
  • 其他类似Header
    • X-Forwarded, Forwarded-For, Forwarded
    • X-Requested-With, X-Forwarded-Proto
    • X-remote-IP, True-Client-IP等

代理类型

  • 正向代理:客户端侧(如VPN),保护客户端隐私
  • 反向代理:服务器侧(如Nginx负载均衡),保护服务器安全
  • 透明代理:中间件(如防火墙),保持原始IP

1.4 有缺陷的暴力破解防护之IP封锁

攻击步骤

  1. 直接爆破失败:IP因多次尝试被封锁
  2. 交替登录策略
    • 生成交替用户名字典(carlos和有效用户wiener交替)
    • 生成对应密码字典(随机密码和有效密码peter交替)
  3. Pitchfork攻击
    • 使用两个不同字典
    • 设置单线程保证顺序执行

1.5 利用账户锁定进行用户名枚举

攻击步骤

  1. 账户锁定特性分析:有效账户多次错误登录会被锁定
  2. 构造特殊字典
    • 用户名字典:每个用户名重复多次(如5次)
    • 密码字典:全部为相同随机错误密码
  3. 识别锁定响应:发现amarillo账户被锁定
  4. 密码爆破:确定密码为ginger

1.6 暴力破解防护:单个请求多个证书

攻击步骤

  1. JSON格式利用:构造包含多个密码的JSON数组
    {"username":"carlos","password":["123456","password","baseball"]}
    
  2. 浏览器重放:使用"Show response in browser"功能

2. 多因素验证漏洞

2.1 双因素验证的简单绕过

攻击步骤

  1. 正常登录流程分析
    • 第一阶段:用户名/密码
    • 第二阶段:邮箱验证码
  2. URL参数绕过:直接访问/my-account?id=carlos

2.2 存在逻辑缺陷的双因素认证

攻击步骤

  1. Cookie分析:发现verify参数包含用户名
  2. 修改请求
    • 更改GET /login2的verify值为carlos
  3. 验证码爆破:4位验证码可爆破

2.3 暴力破解绕过双因素认证

攻击步骤

  1. CSRF Token处理:发现请求需要CSRF token
  2. Macro配置
    • 录制完整登录流程(4个请求)
    • 配置从先前响应获取CSRF token
  3. 验证码爆破
    • 使用配置的macro
    • 单线程执行保证顺序

Token技术要点

  • Anti-CSRF Token:随机值,防止请求伪造
  • JWT Token:加密的用户信息
  • 与Session对比:Token减轻服务器负担,适合分布式系统

3. 其他验证机制的漏洞

3.1 暴破保持登录状态的cookie

攻击步骤

  1. Cookie分析:发现格式为base64(用户名:md5(密码))
  2. Cookie爆破:对stay-logged-in参数进行爆破

3.2 离线密码破解

攻击步骤

  1. 获取Cookie:通过服务器日志获取carlos的cookie
  2. MD5破解:对cookie中的MD5值进行破解

3.3 重置密码的逻辑缺陷

攻击步骤

  1. 正常重置流程:获取重置token链接
  2. 参数篡改:修改请求中的username参数为carlos

3.4 经过中间件的密码重置中毒

攻击步骤

  1. Host头注入:添加X-Forwarded-Host指向攻击服务器
  2. 捕获Token:在攻击服务器查看重置链接
  3. 密码重置:使用捕获的token重置密码

密码重置中毒原理

  • 攻击者诱导用户点击恶意重置链接
  • 通过控制Host头将token发送到攻击者服务器

3.5 通过改密码进行暴力破解

攻击步骤

  1. 改密码功能分析:请求中包含username参数
  2. 参数篡改爆破
    • 修改username为carlos
    • 利用错误响应差异爆破当前密码

本教学文档详细记录了Burp Suite官方靶场中各类验证漏洞的实战方法,涵盖了用户名枚举、密码爆破、双因素认证绕过、Cookie利用等多种技术,并包含关键的技术原理说明。在实际测试中,请确保获得合法授权,遵守相关法律法规。

Burp Suite官方靶场验证漏洞实战教学文档 1. 基于密码登录的验证漏洞 1.1 基于不同响应的用户名枚举 攻击目标 枚举有效用户名,暴力破解对应密码,最终访问成功破解的账户。 攻击步骤 初步探测 :发现登录页面必须满足用户名和密码字段非空 错误响应分析 :输入测试payload username=a&password=1 ,观察特殊报错 用户名爆破 : 抓取登录数据包发送到Intruder 设置攻击方式为Sniper,变量为username 使用提供的用户名字典进行爆破 密码爆破 : 确定有效用户名(如adsl) 重新设置Intruder变量为password 使用密码字典爆破,发现密码为freedom 验证登录 :使用adsl:freedom成功登录 1.2 巧妙利用不同响应进行用户名枚举 攻击步骤 观察响应差异 :提交测试payload后,注意错误信息的细微差别 多用户名单一密码爆破 : 设置两个参数(username和password)的字典 配置从响应中提取特定错误信息 识别有效用户 :发现某些响应缺少英文句号,确定有效用户名为apple 密码爆破 : 固定用户名为apple 爆破密码字段,发现密码为1234 1.3 利用响应时间进行用户名枚举 攻击目标 在存在IP封锁防护的情况下枚举用户名并爆破密码。 攻击步骤 初始探测 :提交随机账号密码,观察基础报错 IP封锁分析 :发现高频请求导致IP被封锁 绕过IP封锁 : 使用BurpFakeIP插件添加随机X-Forwarded-For头 基于时间的枚举 : 设置超长password参数值 观察Response Completed时间,最大值为有效用户(att) 密码爆破 :确定密码为1111 技术要点 X-Forwarded-For :用于获取原始客户端IP,可被伪造绕过IP封锁 其他类似Header : X-Forwarded, Forwarded-For, Forwarded X-Requested-With, X-Forwarded-Proto X-remote-IP, True-Client-IP等 代理类型 正向代理 :客户端侧(如VPN),保护客户端隐私 反向代理 :服务器侧(如Nginx负载均衡),保护服务器安全 透明代理 :中间件(如防火墙),保持原始IP 1.4 有缺陷的暴力破解防护之IP封锁 攻击步骤 直接爆破失败 :IP因多次尝试被封锁 交替登录策略 : 生成交替用户名字典(carlos和有效用户wiener交替) 生成对应密码字典(随机密码和有效密码peter交替) Pitchfork攻击 : 使用两个不同字典 设置单线程保证顺序执行 1.5 利用账户锁定进行用户名枚举 攻击步骤 账户锁定特性分析 :有效账户多次错误登录会被锁定 构造特殊字典 : 用户名字典:每个用户名重复多次(如5次) 密码字典:全部为相同随机错误密码 识别锁定响应 :发现amarillo账户被锁定 密码爆破 :确定密码为ginger 1.6 暴力破解防护:单个请求多个证书 攻击步骤 JSON格式利用 :构造包含多个密码的JSON数组 浏览器重放 :使用"Show response in browser"功能 2. 多因素验证漏洞 2.1 双因素验证的简单绕过 攻击步骤 正常登录流程分析 : 第一阶段:用户名/密码 第二阶段:邮箱验证码 URL参数绕过 :直接访问 /my-account?id=carlos 2.2 存在逻辑缺陷的双因素认证 攻击步骤 Cookie分析 :发现verify参数包含用户名 修改请求 : 更改GET /login2的verify值为carlos 验证码爆破 :4位验证码可爆破 2.3 暴力破解绕过双因素认证 攻击步骤 CSRF Token处理 :发现请求需要CSRF token Macro配置 : 录制完整登录流程(4个请求) 配置从先前响应获取CSRF token 验证码爆破 : 使用配置的macro 单线程执行保证顺序 Token技术要点 Anti-CSRF Token :随机值,防止请求伪造 JWT Token :加密的用户信息 与Session对比 :Token减轻服务器负担,适合分布式系统 3. 其他验证机制的漏洞 3.1 暴破保持登录状态的cookie 攻击步骤 Cookie分析 :发现格式为 base64(用户名:md5(密码)) Cookie爆破 :对stay-logged-in参数进行爆破 3.2 离线密码破解 攻击步骤 获取Cookie :通过服务器日志获取carlos的cookie MD5破解 :对cookie中的MD5值进行破解 3.3 重置密码的逻辑缺陷 攻击步骤 正常重置流程 :获取重置token链接 参数篡改 :修改请求中的username参数为carlos 3.4 经过中间件的密码重置中毒 攻击步骤 Host头注入 :添加X-Forwarded-Host指向攻击服务器 捕获Token :在攻击服务器查看重置链接 密码重置 :使用捕获的token重置密码 密码重置中毒原理 攻击者诱导用户点击恶意重置链接 通过控制Host头将token发送到攻击者服务器 3.5 通过改密码进行暴力破解 攻击步骤 改密码功能分析 :请求中包含username参数 参数篡改爆破 : 修改username为carlos 利用错误响应差异爆破当前密码 本教学文档详细记录了Burp Suite官方靶场中各类验证漏洞的实战方法,涵盖了用户名枚举、密码爆破、双因素认证绕过、Cookie利用等多种技术,并包含关键的技术原理说明。在实际测试中,请确保获得合法授权,遵守相关法律法规。