为方便您的阅读,可点击下方蓝色字体,进行跳转↓↓↓
- 01 案例概述
- 02 攻击路径
- 03 防方思路
01 案例概述
这篇文章来自微信公众号“Hack学习君”,记录的某师傅通过分析公告泄漏的学生信息,利用学校系统初始密码设置成功登录系统。进一步发现系统在处理GET请求时存在参数不完整的提示,便通过补全参数并修改参数值得方式获取到部分学生信息乃至4000+名学生的敏感个人信息的过程。
记一次学生个人信息泄露导致全校学生信息泄露【原文链接】
02 攻击路径
从攻击者视角了解攻击的全过程,以下为攻击过程:
(1)突破网络边界:攻击者的突破点是通过信息收集发现某学校的一份公告泄露了学生的学号和身份证,而学校的统一登录入口初始登录密码便是身份证后六位,攻击者尝试后便成功登录系统。
(2)获取敏感信息:攻击者发现当以Get请求方式访问反馈功能点的3级目录时,系统会提示缺少参数信息,当按要求补齐参数信息后,攻击者可通过改变pageNum和pageSize参数值获取学生信息数据,但由于仅个别学生有反馈问题,所以得到的学生信息较少。
(3)扩大攻击成果:攻击者转换思路在个人信息编辑功能进行攻击尝试,通过改变请求包中POST请求方式为GET,并拼接三层目录补充pageNum和pageSize参数的方式,成功获取了全校四千多名学生的姓名、班级、学号、邮箱、身份证等信息。
03 防方思路
站在防守单位的角度需吸取本案例的经验教训:
(1)审查敏感信息:各部门在互联网上发布任何文档或公告之前,需仔细审查内容,确保不包含任何敏感信息,如个人身份信息、财务细节或其他机密数据等。
(2)强化密码策略:强制要求用户第一次登录系统后修改密码,并定期提示修改密码,避免长时间使用同一密码。对密码进行复杂度要求,如长度最少为8个字符,包含大小写字母、数字及特殊字符。
(3)完善鉴权机制:确保系统中的每个功能点,特别是涉及用户个人信息的功能,都进行适当的权限验证。确保用户只能访问或修改自己的信息,且仅在必要时才能访问他人信息。