在一次针对高校系统的安全测试过程中,常规的登录、注册、忘记密码等功能点均设置了较强的防御,如图形验证码难以绕过,接口可利用性低,密码重置逻辑前端校验严格等,一度让测试陷入僵局。
转机出现在使用 Burp Suite 的被动扫描插件时,插件识别出目标系统使用了 ThinkPHP 框架。访问相关路径确认后,发现其版本为存在已知漏洞的 3.x 版本。利用公开的 ThinkPHP 历史漏洞利用工具进行测试,成功读取到了网站的日志文件。
在日志文件中,通过搜索关键词发现了大量包含用户账号、密码哈希值以及 SQL 查询语句的记录。这些 SQL 日志不仅暴露了学号信息,其对应的密码哈希也是系统当前正在使用的。对这些哈希值进行破解后,成功获得了明文密码,并利用学号和密码组合登录了系统后台。
成功进入后台后,对功能点进行了全面分析,主要关注手机号修改、邮箱修改、密码修改、文件查看与上传等可能存在逻辑缺陷或越权风险的功能。
- 手机号修改:测试发现修改功能仅需提供新手机号,但请求通过 Cookie 进行会话鉴权,尝试遍历修改其他用户信息的操作未能成功。
- 文件上传:在指定上传点测试了多种文件后缀,发现后端限制严格,仅允许上传如 PDF 等少数非可执行格式,且上传后不解析,难以直接获取Shell。
- 文件查看与越权:观察文件查看功能的 URL 参数,尝试通过修改路径或文件名实现越权访问或任意文件下载,但未发现有效的漏洞点。不过,通过分析发现已上传文件的下载链接可能存在未授权访问风险,复制链接至未登录的浏览器会话中可成功下载,尽管文件名被重命名。
- 接口鉴权测试:系统存在“学生/教师”和“专家”两种登录入口。虽然从泄露的日志中找到了专家相关的路径,但未发现其凭证信息。尝试在请求中修改如
roletype、usertype 等字段以越权进入专家后台,也未获成功。
本次测试的核心突破点在于对老旧框架组件漏洞的利用,通过泄露的日志文件获取了大量有效凭证,从而进入后台进行深度测试。整个流程展示了在外部防御较强时,转向对已知第三方组件漏洞的利用,并结合后台功能点的逻辑测试,是挖掘中高危漏洞的一条有效路径。
|