暴力破解专题:Burp Suite Intruder 的四种攻击模式怎么选、有验证码和 token 的场景怎么办、线程和字典的取舍。
核心知识点
1. 什么是弱口令
弱口令就是”容易被人猜到”的密码。常见类型:
- 简单数字:123456、111111、000000、1234567890
- 键盘顺序:qwerty、asdfgh、1qaz2wsx、qwe123、!@#$%^&*
- 常见单词:password、admin、letmein、welcome、login、root
- 与账号:账号本身就是密码、账号+123(admin123)、名+年份(company2023)
- 生日、手机号:19900101、13800138000
为什么危险:
- 攻击用软件几秒钟试完所有常见密码
- 撞库攻击:很多人在不同网站用同一密码,一处泄露遭殃
- 社会工程学:攻击可能从社交媒体了解你的生日、爱好
如何设置强密码:长度至少 8 位;大小写字母+数字+特殊符号;不用真实单词;不同网站用不同密码。小技巧:用一句话首字母,如”我爱吃辣辣的” → WACHHLL。
2. HTTP 请求基础(Burp 拦截)
- HTTP 请求组成:请求行(方法+路径+协议版本)、请求头(浏览器标识/Cookie/Content-Type 等)、请求体(POST 数据)。
- 常见方法:GET(拿数据)、POST(交数据)、PUT(改数据)、DELETE(删数据)。
- Burp Suite 的角色:代理服务器,可以拦截和修改浏览器与服务器之间的通信。
POST /dvwa/login.php HTTP/1.1
Host: 127.0.0.1
User-Agent: Mozilla/5.0 (...)
Content-Type: application/x-www-form-urlencoded
Cookie: security=low; PHPSESSID=abc123def456
username=admin&password=123456
3. 靶场环境搭建(phpStudy + DVWA/Pikachu)
- 下载 phpStudy(官网 xp.cn),到 D 盘。
- 下载 Pikachu、DVWA 源码
WWW目录。 - 修改数据库账号密码为 root/root。
- 访问
http://127.0.0.1/pikachu/install.php、http://127.0.0.1/dvwa/setup.php初始化。 - DVWA 默认账号:
admin / password,登录后设置级别 Low。
4. Burp Suite 代理
- 浏览器设置手动代理:HTTP 代理
127.0.0.1,端口8080(勾选”也将此代理用于 HTTPS”)。 - Burp 确认代理监听器:绑定地址
127.0.0.1,端口8080,Running 勾选。
5. Intruder 暴力破解
- 打开 DVWA(级别 Low),错误账号密码登录,Burp 拦截请求。
- 右键请求 → Send to Intruder(Ctrl+I)。
- Positions 标签:Clear § 所有标记 → 选中 username 和 password 值 → Add § 标记:
username=§admin§&password=§123456§ - Payloads 标签:Payload set 选 “Simple list” → Load 加载密码(每行一个密码)或手动添加。
- 点击 Start Attack 开始攻击。
- 结果判断技巧:登录失败的响应长度大致相同;成功登录的响应长度明显不同(通常更长)。点击 Length 列排序找异常值,查看响应确认。
6. Repeater 重放攻击
- Repeater 模块捕获并手动重放 HTTP 请求,用于分析服务器响应和页面,可手动修改参数后多次发送对比。
7. 防御
- 强制密码复杂度策略、登录失败次数限制与锁定、验证码、多因素认证(MFA)、防撞库(密码加盐哈希)。
实操步骤
# 1. 浏览器代理 127.0.0.1:8080
# 2. Burp 拦截登录请求
# 3. 发送到 Intruder,标记 payload 位置
# 4. 密码,Start Attack
# 5. 按响应长度排序,找到长度异常的即为正确密码
常见错误与排查
- Burp 抓不到 → 浏览器代理未或 Burp 监听未启动;抓本地靶场用真实局域网 IP 而非 127.0.0.1。
- 破解结果相同长度 → 后端有验证码/次数限制/延迟;或里没有正确密码。
- DVWA 提示数据库连接失败 → MySQL 未启动或账号密码不是 root/root。
- 爆破被服务器封 IP → 放速度、加延迟、换代理。