暴力破解靶场 WriteUP 教学文档
项目概述
本教学文档基于开源暴力破解靶场 Burp-Labs,涵盖从基础到专家级别的21个关卡,全面讲解暴力破解技术的各种场景和应对方法。
基础篇
Level 1:简单登录爆破
场景特点:简单的登录页面,无任何防护措施
攻击方法:直接使用密码字典进行爆破
技术要点:使用常规爆破模式,无需特殊处理
Level 2:用户名枚举
关键发现:admin用户返回长度与其他用户不同,且明确返回"密码错误"
攻击方法:针对admin用户进行密码爆破
技术要点:通过响应长度差异识别有效用户名
Level 3:响应过滤技术
场景特点:所有用户返回长度一致,无法直接区分
攻击方法:
- 使用过滤器排除包含"失败"关键词的响应
- 筛选成功登录的响应结果
技术要点:Burp Suite过滤器的使用
中级篇
Level 4:302跳转处理
场景特点:错误登录返回302跳转到登录页面
攻击方法:过滤排除跳转位置,识别成功登录
技术要点:观察HTTP状态码和Location头
Level 5:Base64编码处理
场景特点:密码字段需要Base64编码
攻击方法:在Payload处理中添加Base64编码
技术要点:Burp Suite的Payload Processing功能
Level 6:MD5哈希处理
场景特点:密码字段使用MD5哈希
攻击方法:选择Hash中的MD5编码
技术要点:哈希算法的识别和应用
高级篇
Level 7:加密参数处理
场景特点:增加加密参数,需要JS逆向分析
攻击步骤:
- 分析JavaScript加密逻辑
- 先爆破已确定的用户
- 处理动态加密参数
技术要点:前端加密逻辑分析
Level 8:前缀处理
场景特点:密码需要添加特定前缀
攻击方法:在Payload处理中添加前缀
技术要点:字符串拼接技术
Level 9:Yakit热加载技术
场景特点:需要动态生成时间戳参数
技术实现:
genTS = func(p) {
ts = time.Now().Unix()
return sprint(ts)
}
请求模板:timestamp={{yak(genTS|dummy)}}
技术要点:Yakit热加载函数编写和调用
Level 10:格式变换
场景特点:参数格式变化,但加密方式简单
攻击方法:直接爆破即可
Level 11:自定义Payload脚本
场景特点:需要自定义脚本生成Payload后再Base64编码
技术要点:多步骤Payload处理
Level 12:复杂加密流程
加密顺序:JSON → Base64 → MD5
分析方法:通过栈跟踪找到加密函数
技术要点:多层加密逻辑分析
专家篇
Level 13:会话限制绕过
限制机制:基于PHPSESSID的会话限制
绕过方法:删除Cookie中的PHPSESSID
技术要点:会话机制的理解和绕过
Level 14:2FA邮箱验证绕过
漏洞点:username参数可控
攻击步骤:
- 测试账号登录观察参数
- 修改username参数为administrator
- 绕过文件路径检查
技术要点:参数篡改技术
Level 15:任意用户密码重置
漏洞原理:重置功能未验证用户身份
攻击方法:
- 在重置页面直接输入管理员用户名
- 或抓包修改username参数
技术要点:业务逻辑漏洞利用
Level 16:时间差攻击
场景特点:正确用户名响应较慢
攻击步骤:
- 通过响应时间差异枚举用户名
- 对有效用户进行密码爆破
技术要点:时间侧信道攻击
Level 17:IP限制绕过
限制机制:基于IP的请求频率限制
绕过方法:添加X-Forwarded-For头伪造IP
攻击模式:Pitchfork attack模式
技术要点:HTTP头注入技术
Level 18:账户锁定利用
业务逻辑:正确用户名密码错误超5次锁定
攻击方法:利用锁定机制快速推断有效用户名
技术要点:业务规则反向利用
Level 19:2FA验证码爆破
攻击步骤:
- 修改URL参数向管理员发送验证码
- 爆破管理员账号的验证码
技术要点:验证码机制绕过
Level 20:密码重置链接劫持
漏洞点:使用X-Forwarded-Host头构造重置链接
攻击架构:
- 运行恶意服务器接收重置链接
- 添加X-Forwarded-Host头指向攻击者服务器
- 模拟用户点击脚本
服务器脚本关键代码:
def do_GET(self):
if "token=" in self.path:
token = self.path.split("token=")[1].split("&")[0]
print(f"★ 成功捕获 Token ★ : {token}")
技术要点:HTTP头注入和中间人攻击
Level 21:权限提升漏洞
攻击路径:
- 使用低权限账号登录(admin/abc123)
- 利用修改密码功能未校验权限的漏洞
- 爆破administrator用户密码
技术要点:垂直权限提升技术
工具和资源
- 密码字典:https://github.com/wwl012345/PasswordDic
- 项目地址:https://github.com/duckpigdog/burp-labs
- 主要工具:Burp Suite、Yakit
防御建议
- 实施强密码策略
- 添加多因素认证
- 设置合理的登录失败限制
- 验证所有用户输入参数
- 避免使用可预测的令牌机制
- 实施完善的会话管理
- 对敏感操作进行重新认证
本教学文档涵盖了暴力破解的各个方面,从基础技术到高级绕过方法,为安全测试人员提供了全面的学习路径。