burpsuite官方靶场之验证篇
字数 2376 2025-08-10 14:13:03
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数组
{"username":"carlos","password":["123456","password","baseball"]} - 浏览器重放:使用"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利用等多种技术,并包含关键的技术原理说明。在实际测试中,请确保获得合法授权,遵守相关法律法规。