MENU

记一次手机APP端找回密码存在缺陷致使GetShell,900万学生数据泄露

June 15, 2019 • 技术文章阅读设置

/ 本文发布前,漏洞已告知官方,并且漏洞已修复 /

前段时间遇到的一个站,Web 端查看没啥严重问题,换到手机端查看的时候,发现了个逻辑问题

手机端重置密码分三步

  • 第一步输入单位和账号

01.jpg

  • 第二步收短信验证码

02.jpg

  • 第三步输入新密码

乍一看没问题,然后抓包的时候发现第三步修改密码,是直接 post 了用户 ID、密码和手机号到服务端,没有校验第二步的验证码,后来发现手机号随便传一个都可以,不是用户绑定的密保手机都没问题

1.png

uid = 用户 ID&password = 新密码 & rePassword = 重复输入新密码 & mobile = 任意手机号

03.png

我们在登陆界面选择学校,找到“口袋大学“ ,这个学校是官方创建的学校,里面都是官方的人

04.png

我们学校使用的就是PU,我登陆上自己的账号(如果需要我可以提供我的账号做测试),在找人界面搜索关键字“PU“,找到学校是”口袋大学的用户“,以”PU_jl“这个用户为例,可以看到他的用户名为”PU_jl“,昵称为”PU君“

05.png

可以看到这个用户的UID为3051761

结合以前发现的一个任意用户信息查询漏洞,查询到某个管理员的UID号和手机号码

2.png

06.png

利用上面查到的用户UID和手机号(实际操作重置密码的时候需不需要手机号无所谓,,随便写的即可)重置管理员密码

07.png

登上这个账号,可以看到 学校后台 的选项,这个后台只是PU口袋大学这个分组的后台,并不是总后台

08.png

在这个分组后台里,可以看到所有隶属于此分组的用户,找到一个有手机号,并且是超级管理员的账号

09.png

同样的操作,重置完他的密码以后,登陆上去,可以看到多了一个 后台管理

10.png
11.png

可以发现一共有9122584条记录

12.png

随便点击一个信息进去,可以看到这里列出了这名学生的 学校、院校、年级、专业、班级、邮箱、手机号、姓名等信息

13.png

找到相册管理,可以看到这里能修改图片允许的格式,给他手动增加一个PHP

14.png

然后回到前台相册功能上传一个shell

15.png

查看抓到的包,可以得到上传后的路径以及文件名

16.png
17.png