Username enumeration via different responses

张开发
2026/5/16 8:08:17 15 分钟阅读
Username enumeration via different responses
Username enumeration via different responses -Burp复现实验信息平台PortSwigger Web Security Academy漏洞AuthenticationLab: Username enumeration via different responses难度Apprentice漏洞原理该漏洞属于Authentication下Username Enumeration(用户名枚举漏洞)核心成因是 Web 应用在登录鉴权时对「用户名不存在」和「用户名存在但密码错误」两种场景返回了差异化的响应信息。正常安全的登录设计会统一返回模糊提示如 “用户名或密码错误”规避攻击者区分账号有效性而本漏洞场景中应用会精准反馈无效用户名提示「Invalid username」有效用户名但密码错误提示「Incorrect password」。攻击者可利用这种响应文案、数据包长度、状态码、页面返回内容的差异配合爆破工具批量遍历用户名字典精准筛选出系统内已注册的有效账号拿到有效用户名后再针对性对该账号进行密码爆破大幅降低暴力破解的难度与工作量为后续账号入侵铺路。测试过程Lab 7:给了Candidate usernames and passwords lists, 通过Burp Intruder进行enumeration(枚举) 。登录wiener账号hiighlight wiener 右键发送到Intruder在右边的payload configuration粘贴给定的username list开始爆破攻击可以在结果中发现很多结果相同但是有一个特殊的用户名的length不同利用Burp comparer窗口和其他结果的前端界面对比其他内容为Invalid username, 只有al显示为Incorrect password可以确定al就是目标用户和username的enumeration操作一样highlight the peter(给定的password)paste passwords we copied from the list开始攻击同样有一个unusual length发现他的status code is 302 Found ,这就是我们的目标密码成功登录lab solved!利用Payload通过Burp Intruder的右侧Payload可以进行枚举爆破降低手动列举的工程量。如果会一点点编程的话在拥有用户名和密码的情况下写一个自动化脚本也可以实现不过这里是apprentice learning重点在于Burp工具的使用几个月后将会开始practitioner learning同样会有authentication vulnerability就不局限于Burp工具的使用与复现采用多种形式解题并将源代码同步到[Github](Naclarb/web-security-learning: PortSwigger Labs and Burp Suite Practices)个人总结第一 如何利用这个漏洞暴力破解是最简单粗暴的方式只要attacker拥有valid username结合现代化工具以及对密码的预测例如大部分用户的各个平台密码几乎一致仅有微小改变如果只要一个平台发生泄漏将会导致用户全生态的泄露。第二为什么会产生这个漏洞显然只要其他用户得到目标用户的账号和密码就能登录而不进行authentication就是漏洞来源。以Google的登录系统为例可不仅仅是账号密码就可以login, 还需要图片验证码(九宫格找出所有的Car)证明不是机器人以及短信/邮箱验证码来证明是本人。第三如何修复这个漏洞参考google的登录加入图片验证码和短信验证码authentication(在下一个lab中会看到有关验证码的漏洞请持续关注更新)加入图片验证码和短信验证码authentication(在下一个lab中会看到有关验证码的漏洞请持续关注更新)参考手机的开锁超过一定次数将会锁定防止枚举

更多文章