前言
本文分享一次在企业SRC漏洞挖掘中,从一个简单的登录框入手,逐步深入,最终发现弱口令与未授权访问组合漏洞的完整案例。
案例详情
测试目标是一个企业内部的在线培训平台,开局是一个典型的登录界面。

首先尝试抓包,分析登录请求的数据结构。请求是明文传输,尝试进行SQL注入,但触发了WAF,无法直接利用。于是转换思路。

登录过程包含图形验证码,但发现验证码可以复用,且返回的报错信息会明确提示“用户不存在”。这为枚举有效用户名提供了可能。
于是编写脚本,自动识别验证码,然后对用户名进行批量枚举,成功收集到十多个有效账号。

接下来,关键问题来了:密码怎么办?分析业务场景,这是企业内训平台,账号很可能是统一发放而非个人注册。因此,密码可能存在几种情况:所有账号使用同一个默认密码;账号和密码相同;或者密码是用户自行设置的。
首先尝试第一种思路,用收集到的所有用户名,配合一个常见弱口令字典进行交叉爆破,但跑了几百个密码均未成功。

接着尝试第二种可能性:账号密码一致。由于账号数量不多,便直接手动测试。没想到,使用 admin:admin 这一对经典弱口令组合,竟然成功登录了系统!
后续测试发现,多个收集到的账号,使用与用户名相同的密码均可成功登录,这证实了平台存在大范围的弱口令风险。

登录系统后,便开始寻找更多的漏洞点。重点测试了课程查询功能。通过抓包分析,发现一个查询课程详情的接口。

该接口的 courseId 参数用于指定课程。在响应中,不仅返回了课程信息,还直接暴露了课程相关文件的服务器绝对路径,这是一个危险信号。
针对 courseId 参数进行模糊测试,遍历可能的ID值,试图获取所有可访问的文件列表。

从响应中提取出大量文件路径,包括PDF课件和MP4视频文件。最关键的是,在未登录状态下,直接访问这些文件链接,竟然可以成功下载!这构成了一个严重的未授权访问漏洞。

最终,这个由弱口令漏洞作为入口,进而挖掘出核心业务接口未授权访问的案例,在SRC平台被评定为中危漏洞。

总结
本次渗透测试案例展示了完整的攻击链条:从简单的登录框开始,通过验证码绕过和用户名枚举获取有效账户,利用“账号密码相同”的弱口令策略突破身份认证,最后在已登录状态下挖掘出可导致敏感信息泄露的未授权访问漏洞。企业在开发类似系统时,应重视默认密码、密码强度策略、验证码安全性以及接口的权限校验,避免此类组合风险的发生。对于安全研究人员而言,保持耐心,对每一个可能的攻击面进行深入测试,往往能取得意想不到的成果。
|