Web 渗透身份验证测试 —— Burp 用户名枚举 + 登录字典攻击实战心得

📅 2026/7/3 5:48:05 👁️ 阅读次数 📝 编程学习
Web 渗透身份验证测试 —— Burp 用户名枚举 + 登录字典攻击实战心得

Web 渗透身份验证测试 —— Burp 用户名枚举 + 登录字典攻击实战心得

前言

本次通过完成OWASP WebGoat、WackoPicko靶场的两项实战任务:Burp Suite Intruder模块完成用户名枚举、Cluster Bomb模式双字段字典爆破登录,复现 Web 身份验证环节的前置信息收集、账号密码暴力破解流程。

一、整体实验思路

整套身份验证渗透分为两大阶段,逻辑层层递进,也是渗透测试的标准执行流程:

1. 信息搜集阶段:用户名枚举

不可直接盲目进行账号密码爆破,首要目标是从目标页面提取真实有效的用户名。利用密码重置页面的响应差异特性:输入无效用户名会固定返回Not a valid username,而有效账号的返回报文、响应长度会出现明显区别。我们使用 Burp 代理抓包,将请求发送至 Intruder 模块,加载用户名字典批量发起请求,筛选响应异常的结果,锁定存活账号,为后续密码爆破缩小攻击范围。

图1 错误用户名提交

图2 响应移交intruder

2. 漏洞利用阶段:双参数字典攻击

获取有效用户名列表后,针对登录接口实施字典攻击。登录表单包含用户名、密码两个可控参数,选用IntruderCluster bomb集群炸弹模式,分别加载用户名字典、高频弱口令字典,完成账号与密码的两两组合遍历发包。依靠HTTP 状态码、响应长度、页面重定向地址三个维度判断登录结果,最终破解后台管理员登录凭证。

二、项目实操实现细节

(1)用户名枚举实操要点

靶机地址192.168.120.128,以WebGoat密码重置页面作为测试点位,核心操作步骤:
浏览器配置 Burp 代理(默认 8080 端口),通过代理抓包截取提交用户名的 POST 请求,右键将请求发送至·Intruder模块;

捕获post请求

Positions页面仅标记Username字段作为唯一攻击位,攻击类型选择Sniper狙击手模式,适配单字段遍历场景;
Payloads载荷面板,加载 Kali 系统自带字典路径

/usr/share/wordlists/metasploit/http_default_users.txt;

设置载荷

切换至Options选项卡,在Grep-Match规则中,添加匹配字符串Not a valid username
点击Start attack启动攻击,最终没有匹配到该报错字符串的 Payload,即为系统有效用户名,本次实验成功识别admin为合法账号。

(2)登录页面字典爆破实操要点

目标为* WackoPicko* 登录页面,表单核心参数为adminname、password,关键配置流程:
抓取登录提交的POST请求,将两个参数全部添加攻击标记,攻击类型修改为Cluster bomb
知识点区分Sniper模式多用于单个参数爆破;Cluster bomb 专门适配两个参数独立字典两两组合,是双字段账号密码爆破的首选模式。
Payload Set1导入实验给定的用户名列表,Payload Set2导入 2017 年度 TOP25 高频弱口令字典;

载入密码文件

结果判定规则:登录失败请求统一返回200状态码,响应长度固定不变;登录成功会返回303重定向状态码,响应长度变短,响应头携带后台首页Location跳转路径以及会话 Cookie,本次成功破解账号密码组合admin/admin。

三、工具技巧与避坑总结

字典选用技巧

Kali Linux 内置大量渗透字典,统一存放路径为/usr/share/wordlists,日常实战常用metasploit默认账号字典、rockyou.txt海量密码库,rockyou 解压命令:tar -xzf rockyou.tar.gz。可根据业务场景精简自定义字典,能够极大缩减爆破耗时。

结果判断技巧

研判优先级:优先查看状态码(302/303重定向大概率为登录成功),其次对比响应长度;若长度完全一致,可启用Grep匹配规则,检索首页关键字、Set-Cookie 会话字段,精准区分成功与失败请求。

防御角度反思

本次漏洞根源为页面提示信息差异化泄露、无登录失败锁定机制。对应防御方案:统一账号错误提示,模糊用户名是否存在;添加人机验证码、对高频失败 IP 进行封禁、设置接口请求频率限制,从底层抵御用户名枚举与字典爆破攻击。

四、学习总结

本次实验完整走完用户名搜集→密码字典爆破的身份验证完整攻击链路,熟练掌握了 Burp Intruder 四大攻击模式的适用场景,理解 HTTP 响应报文、状态码、响应长度在渗透结果研判中的关键作用。同时也意识到,弱口令、错误提示信息泄露,是 Web 身份验证模块最普遍的高危漏洞。后续我会继续学习验证码绕过、会话劫持等会话管理类进阶漏洞,同时站在开发运维视角吃透配套安全加固方案,做到攻防知识双向掌握。