免责声明:本文仅供网络安全学习与交流,切勿用于非法测试或未授权攻击。漏洞已提交至相关平台并修复。
1. 漏洞概述
本次漏洞挖掘主要针对某某大学的心理健康教育平台。通过公开信息收集获取到了学生学号信息,尝试使用该学号结合弱口令成功登录系统。随后在系统内部抓包,发现某处接口存在SQL注入漏洞,最终成功获取数据库报错信息。该漏洞在某教育漏洞平台被评定为高危。
2. 资产基本信息
-
漏洞类型:弱口令 + SQL注入
-
资产所在网段:互联网
-
漏洞等级:高危
-
发现时间:2025-02-17 09:29:10
-
漏洞URL :
https://xxxx.xxxx.edu.cn/user/login.do -
所属系统:心理健康教育平台
3. 漏洞复现过程
3.1 信息收集(获取账号)
首先,通过搜索引擎语法 site:xxxx.edu.cn 查找该学校的公开信息。
在教务处官网的"通知公告"中,找到了一篇《关于某学生姓名转专业的公示》。
3.2 弱口令测试
根据获取到的学号作为账号,尝试使用常见的弱密码进行登录。成功登录至"心理健康教育平台"。
3.3 抓包与SQL注入发现
在系统内点击各项功能,并使用Burp Suite进行抓包。在数据包中发现了一个敏感接口:
POST /plg/plug_comExt_sqlCallPro1.do
分析请求体参数,发现在最后一个参数处存在拼接,存在SQL注入漏洞。
3.4 SQL注入验证
构造Payload进行测试,在参数处闭合单引号。
测试Payload:
proNamem=plug_xlyInformation_getInformation&argsList=4&argsList=1&argsList=1&argsList=&argsList=1&argsList=1&argsList=1&argsList=41446'/user()'
发送请求后,数据库返回了报错信息:
"msg":"... Data truncated for column 'inUserId' at row 1", "code":1
4. 默认密码弱口令
除此之外,在注册处还发现了一个弱口令
5. 修复建议
-
加固账号安全:强制用户修改初始密码,增加密码复杂度校验(如大小写字母+数字+特殊字符),防止弱口令爆破。
-
SQL注入防御 :针对接口
/plg/plug_comExt_sqlCallPro1.do的参数进行严格过滤,使用预编译(Parameterized Query)方式处理SQL语句,杜绝SQL拼接。 -
关闭报错回显:在生产环境中关闭数据库详细报错信息的回显,统一返回模糊的错误提示,防止攻击者通过报错信息推测数据库结构。
-
敏感信息保护:减少教务系统等平台直接明文公示学生完整学号及姓名的情况。




