Nday漏洞组合拳修改全校师生密码
很久以前写的文章了,发一下:)
本文是我真实的挖洞经历。撰写本文时相关学校已修复漏洞,相关漏洞也提交给了教育漏洞平台。纯粹是挖洞经验的总结和技术分享,由于敏感信息比较多,所以文章里面很多图片已经面目全非了,望理解。。
平时不怎么挖漏洞,前几周的某一个周末,为了兑换教育漏洞平台上的某学校的证书,对该学校官网进行测试,看能否发现漏洞。
登录界面超好看。
看到左下角有一个信息门户帮助手册(下载),我们下载来先看看。
这里我们可以看到有的情况是可以使用工号和学号进行登录了,所以我们有必要花一些时间用学号和工号作为密码测试能否登录。
为了省事我们可以直接看学校的信息公开位置或者谷歌语法一波(Google hack),有的学校因为没有安全意识,会将学生和老师的一些隐私信息放在信息公开网上,比如说奖学金获得者的学号信息这种,这就让我们有了可趁之机。
这里我们找到了一个老师的工号/工号 登录成功,涉及隐私信息的地方我就打码了。
在这个位置我们先看看信息门户网有漏洞不。
可以看到该大学信息门户网的系统使用的是金智教育2010版本的,嗷,这么老的版本,肯定以前是爆出来过漏洞的,继续使用谷歌大法。
大概看了一下,有两个漏洞引起了我的注意,漏洞链接如下:
https://shuimugan.com/bug/view?bug_no=87297
https://shuimugan.com/bug/view?bug_no=84779
接下来的渗透也借鉴了第一个漏洞作者的思路。
第一个漏洞简单来说,在登陆了老版本金智教育的系统之后,我们直接访问http://ip/authorizeUsers.portal?limit=20,可以返回一个json格式的数据,包含教职工的姓名和工号等信息。
这里我们检测一下该大学的信息门户有没有这个漏洞,回车出json。
这里由于我们limit后面设置的数字是20,所以返回了20条数据,同理,我们只要改变limit后面的数字,就可以增加获取到的教职工数据。
第二个漏洞是修改密码,我们访问该大学的修改密码的界面。
可以看出来,虽然说是可以通过两种方式新设密码,但是由于回答问题修改密码的途径之前爆出过漏洞(也就是上面的第二个链接),所以该大学网站的管理员已经删除了通过回答密保问题修改密码的途径。
我们通过查看用户信息的时候,发现用户在注册的时候也没有填写密保问题,可以看出来在这里这个漏洞是无法利用的了。
这时候换一个思路,虽然该大学将这个漏洞补上了,那应该会有大学没有补这个修改密码的漏洞,说干就干,还是谷歌大法,查找使用了这个系统的学校。
我们在找到时候其实就可以发现有的学校的网站已经因为这个系统被挂马变成了澳门赌场了。。。
接着我们挨个测试即可,果然找到了一个粗心的管理员。
访问http://ip/userAttributesView.portal?userId=portal
可以看到管理员设置的自己账户的密保问题的答案。
这里portal是门户管理员的意思,即管理员所对应的ID,如果不正确的话我们可以多试几次,像amAdmin这些,表示网站管理员没有修改自己的默认ID。
紧接着我们到修改密码的界面,修改的账号就是portal
我们在这里输入之前看到的管理员的密保问题答案即可,正确之后进入下一步。
这里的学校也填写刚才的看到的答案。
最后来到直接输入新密码界面
ok,可以看到我们已经可以直接重置管理员的密码了,这里对该学校的测试就到此为止,因为我们是未授权访问,网站管理员的权限可以随意修改学生成绩,并且查看全校师生的隐私信息,可以知道危害极大。
当然我们并不想止步于此,在这里我想到之前那个大学信息门户网有的那个遍历全部师生学号/工号的漏洞,我们只能修改管理员的原因主要是因为管理员账户是网站的关键,还有另外一个原因就是因为我们只知道管理员的id。如果我们知道了所有师生的ID,那么我们是否可以修改全校所有人的信息门户的密码呢?
当然也是想到就做。
只要登录过学校信息门户网的小伙伴应该都知道,登录id实际上就是教师的工号,学生的学号,所以在这里如果我们获得了一个学生的学号,先修改他的密码,利用其登录的cookie,遍历所有人的信息。
于是现在问题变成了如何找到一个登录过校园信息门户网的学号。
借鉴乌云大神的思路,在该学校的百度贴吧里面寻找学号的信息,出乎意料的是,啥也没找到,
很多都是一些兼职,还有快要毕业的PS学姐(懂的都懂)发布的消息,搜索的三十分钟之后我就放弃了。
第二个方法就是谷歌语法,直接 学校名称 学号 intype:xls,就可以找到很多的有学生学号的表格,这种信息大部分都是公开的,我们也可以利用里面的学号实现攻击。
但这里我换了一个思路,百度贴吧找不到,那我们可以用另外的社交工具,比如:QQ
所以在QQ里面直接搜索 学校名称表白墙,盲猜在学校的表白墙上面会有人发布捡到学生卡的信息,到时候借用一下该同学的学号。
果然这条思路也是可行的:
我们利用这位同学的学号进入信息门户网。
修改密码的过程之前讲过一次,这里就不再赘述,毫无悬念的改好密码之后登陆成功。
接着我们尝试读取学校学校师生的ID值,也是用跟之前的那个大学信息门户网相同的方法,读取成功。(随便截了一些图)
嗷,我们通过修改limit后的数值就可以获取到更多的ID值,配合修改已知ID的账户密码漏洞,我们就可以修改学校内任意一个同学信息门户网的密码然后进行登录了,学生和老师的隐私也荡然无存了。
总结一下:
1,搜索引擎很重要,善于学会使用搜索引擎
2,信息搜集并不全是子域名搜集,敏感目录爆破这些,可以换很多种思路,比如QQ群,公司的github等等。
3,遇到问题的时候不要急躁,多反向思考,以及参考前人的意见,很可能你的问题以前的大神已经解决了,谦虚学习。
4,管理自己网站的时候要经常跟着版本更新和及时打补丁,不然很容易会被Nday漏洞打穿
一起加油吧
Nday漏洞组合拳修改全校师生密码的更多相关文章
- MySQL修改root账号密码
MySQL数据库中如何修改root用户的密码呢?下面总结了修改root用户密码的一些方法 1: 使用set password语句修改 mysql> select user(); +----- ...
- mac 安装mysql + 修改root用户密码 + 及报Access denied for user 'root'@'localhost' (using password:YES)解决办法
1.下载MySQL 到mysql的官网http://dev.mysql.com/downloads/mysql/然后在页面中会看到“MySQL Community Server”下方有一个“downl ...
- xampp修改mysql默认密码详解
在这里介绍xampp修改mysql默认密码的大概过程是先利用xampp的phpmyadmin进入修改mysql密码,修改之后我们再修改xampp中phpmyadmin的密码,这样就完整的修改mysql ...
- 修改linux用户密码
对于初学者来说,如何修改linux用户密码也不是件容易的事,其实非常简单,下面举例说明: 如果是以root身份登录,修改root密码.只要输入 passwd 就会出现: New password: ...
- 如何修改Oracle用户密码
大家如果不知道oracle数据库的密码的话,我们可以通过简单的命令行把密码进行修改. 1.打开cmd 2 在弹出的命令提示窗口输入 set oracle_sid=数据库名称(实例),回车.例如数据库名 ...
- 用phpMyAdmin修改mysql数据库密码
1初始数据库密码为空. 2第一步,点击phpMyAdmin里的用户选项. 3选择root localhost用户名,点击编辑权限. 4此时会出来修改权限的页面,里面可以设置的选项还是比较多的,暂时不管 ...
- MySQL忘记了密码登录不进去,用命令符修改新的密码重新登录的方法
MySQL忘记了密码登录不进去,用命令符修改新的密码重新登录的方法: 1.备份my.ini 2.在my.ini字段里 [mysqld] #socket=mysql skip-grant-tables ...
- Myeclipse SVN 修改用户名和密码
转自:http://blog.csdn.net/chow__zh/article/details/7731497 解决方案: 在Eclipse使用SVN的过程中大多数人往往习惯把访问SVN的用户名密码 ...
- 不重启修改mysql root密码
不重启修改mysql root密码 --------------------2014/09/28 一.一般忘记密码的解决办法,需要重启Mysql1.skip-grant-tables我们常用的方法是使 ...
随机推荐
- Oracle数据库操作相关
1. 导出dmp 文件 (1)导出数据库所有的用户数据: exp system/manage@ORCL file=D:\oracle_dmp\data1.dmp full=y (2)导出指定的用户数据 ...
- 小谢第58问:nuxt搭建企业官网
最近公司要重构公司官网,jq+bootstrap 改为了vue,刚开始我以为用vue不是挺好的嘛,后来才发现,有于vue单页面的特性,不利于搜索引擎的抓取,因此在seo方面需要另外想办法,于是乎,就找 ...
- 看看poll 事件掩码 --- review代码时发现掩码不分的错误
事件 描述 是否可作为输入(events) 是否可作为输出(revents) POLLIN 数据可读(包括普通数据&优先数据) 是 是 POLLOUT 数据可写(普通数据&优先数据) ...
- binary hacks读数笔记(装载)
1.地址空间 在linux系统中,每个进程拥有自己独立的虚拟地址空间,这个虚拟地址空间的大小是由计算机硬件决定的,具体地说,是由CPU的位数决定的.比如,32位硬件平台决定的虚拟地址空间大小:0--2 ...
- Javaer 进阶必看的 RocketMQ ,就这篇了
每个时代,都不会亏待会学习的人. 大家好,我是 yes. 继上一篇 头条终面:写个消息中间件 ,我提到实现消息中间件的一些关键点,今天就和大家一起深入生产级别消息中间件 - RocketMQ 的内核实 ...
- 02、Spring-HelloWorld
0. 环境准备 1) jar包 jar包我会帮大家准备好的,所以不用担心找不到Jar包 链接:https://pan.baidu.com/s/1JJcYaspK07JL53vU-q-BUQ 提取码: ...
- [原题复现][极客大挑战 2019]BuyFlag
简介 原题复现:[极客大挑战 2019]BuyFlag 考察知识点:php函数特性(is_numeric().strcmp函数()) 线上平台:https://buuoj.cn(北京联合大学公开 ...
- 新鲜出炉!阿里Java后端面经,已拿offer!
前面给大家分享了一篇字节跳动拿下offer的面经,很多小伙伴都私信我说收获很大,感兴趣的朋友可以回头去看看.很多小伙伴还问我有没有其他大厂的面试题分享,这不他来啦,阿里2020春招面试题给大家整理在下 ...
- 基于chaosblade的故障注入平台小试
当今社会互联网应用越来越广泛,用户量日益剧增.在人们对互联网服务的依赖性增大的同时,也对服务的可用性和体验感有了更高的要求.那么如何保障服务在运营过程中能一直给用户提供稳定的.不间断的.可靠可信的服务 ...
- 主板上来了一个新邻居,CPU慌了!
大家好,我是CPU一号车间的那个阿Q,好久不见,我想死你们了- 不认识我的请去这里这里补补课:完了!CPU一味求快出事儿了! 主板上的新邻居 "阿Q,快别忙了,马上去一趟会议室,领导有重要事 ...