
在对目标教育厅进行资产搜集与探测后,发现其管理信息系统入口。访问后呈现为一个无验证码的登录页面,通常此类未设置图形验证码的管理后台存在较高的安全风险。

利用弱口令绕过身份验证
尝试使用常见弱口令进行测试,设定固定密码为 123456,对用户名进行爆破,成功爆破出用户凭据(如xxx/123456)并登录系统。
登录后,系统内部分敏感信息(如学生数据)在前端显示时做了脱敏处理。
未授权访问敏感信息(ID遍历漏洞)
- 导航至“学生管理”模块,点击任意学生的“修改”操作。
- 使用BurpSuite等工具拦截该请求。
- 将抓取到的数据包发送到Repeater(重发)模块。


在重发模块中,观察请求参数,通常包含一个标识学生或数据的唯一ID。
POST /updateStudent HTTP/1.1
Host: target.edu.com
...
id=1001&name=张三&idCard=3701********1234&phone=138****5678
修改请求中的id参数值,例如从1001改为1002,然后发送请求。

服务器响应中返回了对应ID用户的完整敏感信息,包括姓名、身份证号、手机号等三要素。通过编写脚本或手动遍历ID值,即可批量获取系统内大量用户的隐私数据,这些漏洞在网络安全领域属于常见但危害巨大的类型。
水平越权漏洞(任意用户密码修改)
在系统的“人员管理”模块进行进一步测试。
- 创建测试账户:使用管理员或有创建权限的账号,新建两个测试用户,例如
user111和user222。

- 记录目标用户ID:使用
user111账号登录。在用户管理界面尝试修改user111自身的密码,并抓取该请求包。从请求参数(如userId=xxxx)或响应包中,记录下user111对应的用户ID,然后丢弃该请求(不真正执行修改)。

- 实施越权操作:退出
user111,使用user222账号登录。同样进入密码修改页面,抓取user222修改自身密码的请求包。

- 在重发模块中,将请求包里的
userId参数值,替换为之前记录的user111的用户ID,其他参数(如新密码)保持不变,然后发送请求。

服务器返回修改成功的提示,表明利用user222的权限成功修改了user111的密码,即存在水平越权漏洞。攻击者可通过此漏洞遍历用户ID,重置系统内任意用户的密码,进而完全接管其账户。
- 验证漏洞:使用
user111账号和user222设置的新密码尝试登录,确认可以成功登录,漏洞验证完成。

总结
本次渗透测试实战揭示了目标教育系统存在的两处严重安全缺陷:一是通过ID参数遍历可未授权访问大量敏感个人信息;二是权限校验缺失导致水平越权修改任意用户密码。开发者应在服务端对访问权限进行严格校验,并对用户输入的关键ID参数实施有效的关联性验证,避免此类逻辑漏洞的发生。
|