从业者-用户名枚举-响应的细微差异
# 实验室:通过响应的细微差异进行用户名枚举
# 题目
此实验室容易受到 微妙的用户名枚举和密码暴力攻击。它具有一个可预测的用户名和密码,可以在以下单词列表中找到:
若要解决实验室问题,请枚举有效的用户名,并对此用户的密码进行暴力破解,然后访问其帐户页面。
- name: 实验室-学徒
desc: 通过响应的细微差异进行用户名枚举 >>
avatar: https://fastly.statically.io/gh/clincat/blog-imgs@main/vuepress/static/imgs/docs/burpsuite-learn/public/lab-logo.png
link: https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-subtly-different-responses
bgColor: '#001350'
textColor: '#4cc1ff'
1
2
3
4
5
6
2
3
4
5
6
# 实操
根据题意,可得实验目标:
- 该实验室存在暴力攻击漏洞,但是响应信息基本相同、差异不大,需要通过细微的差异进行识别;
- 先枚举有效的用户名,再针对该用户名进行密码暴力破解,然后以该用户身份进行登录。
点击 “Access the lab” 进入实验室。

点击 “My account” 进入登录页面。

先进行一次登录操作,返回的响应信息为 “Invalid username or password.”(无效的用户名或密码)。

开启 BurpSuite 和 浏览器代理,在登录表单中输入任意用户名和密码,点击 “Log in” 进行登录操作,并使用 BurpSuite 拦截登录请求数据包。

# 用户名枚举
使用 “Intruder” 功能,将用户名字段的值 添加到选区。

导入实验室提供的 用户名列表,然后点击 “Start attack” 开始攻击。

攻击结束之后,复制响应信息Invalid username or password.

切换到 “Settings -> Grep - Match” 功能,点击 “Clear” 清除默认的配置项。
- 该功能可以用于:匹配响应数据包中的对应字符串。

将刚刚复制的响应信息 粘贴到输入框中,点击 “Add” 进行添加。


回到 “Results” 选项卡,可以看到多出了一列的内容,如图:
- 1 表示 在响应内容中,找到了对应的信息。
- 反之表示 没有找到。
点击这一列的标题栏 进行排序操作。

发现一个异常条目,查看其返回信息,发现其最后一位字符不是 “.”(点) 而是 “ ”(空格)
说明枚举的用户名auth
大概率是存在的。

# 密码暴力攻击
使用 “Intruder” 模块,
- 用户名字段的值为
auth
(通过 用户名枚举 获得)。 - 将密码字段的值 添加到选区。

导入实验室提供的 密码列表,点击 “Start attack” 开始攻击。

攻击结束之后,对结果进行排序,发现一个状态码为 302 的条目。
- 获得密码
dallas

回到登录页面,使用以上操作获得的 用户名和密码 进行登录操作:
- 用户名:
auth
- 密码:
dallas

登录成功,实验完成。

编辑 (opens new window)