脆弱资产搜集

信息搜集过程中,除了用常见子域名扫一遍,还可以通过空间搜索引擎手动搜索。我用的就是把学校名称或者缩写作为关键字,利用语法:

web.body="关键字"&&web.body="系统"

web.body="关键字"&&web.body="登录"

web.title="关键字"&&web.body="管理"

web.title="关键字"&&web.body="后台"

等一系列语法进行挨个查看。

进行信息搜索(你得有一套自己的信息搜集逻辑吧,不然连这个系统都找不到)后,找到一处教学管理系统,点击页面上方软件,点击蓝色链接,进入教学系统

双一流高校某教学系统存在多个高危漏洞_教学系统漏洞

此处存在多个平台,但发现只有几个平台可以点击进入,先点击右上角的:国际结算

双一流高校某教学系统存在多个高危漏洞_越权漏洞_02

出现一个登录框,发现存在注册按钮,并且注册没有任何限制,直接注册账号进行登录(能进后台肯定先进后台测试,之后再测登录框漏洞)

双一流高校某教学系统存在多个高危漏洞_文件上传_03

后台敏感信息越权获取

进入后页面如下,挖洞需要首先观察功能点,将所有能点的都点一遍,将功能转化为接口,转化为数据包后,再进行测试。

双一流高校某教学系统存在多个高危漏洞_教学系统漏洞_04

经过观察,除了修改个人资料与修改密码,其它均为查看资料的地方,尝试sql注入,RCE,文件包含,目录遍历等漏洞均无成果,于是将目光转到这两处功能点。

双一流高校某教学系统存在多个高危漏洞_教学系统漏洞_05

点击修改个人资料,再点击保存,转到burpsuite查看数据包

双一流高校某教学系统存在多个高危漏洞_文件上传_06

发现此处展现了我的账户,密码等个人信息,且数据包body较为简单,于是将数据包转到repeater进行测试。将userId改为2018发包,发现返回其他用户信息。

双一流高校某教学系统存在多个高危漏洞_教学系统漏洞_07

经过尝试可以实现登录,再次将userId改为0001和0002直接展现管理员与超级管理员账号,并成功登录。(经过尝试,大概能获取两千左右的用户信息。)

双一流高校某教学系统存在多个高危漏洞_越权漏洞_08

双一流高校某教学系统存在多个高危漏洞_教学系统漏洞_09

未授权加越权

得到越权漏洞一个,但挖洞时注意数据包如果存在cookie等鉴权字段,就可以尝试删除,如果还能获取就可能存在未授权漏洞。

删除cookie后发包,再次成功获取数据,退出登录,过了半天后再次发送数据包,依旧成功获取数据,于是又将危害扩大,能够实现未授权状态对任意用户信息的获取。

继续查看先前的历史数据包,找到保存信息那一个数据包。将其发送到repeater模块进行分析。

双一流高校某教学系统存在多个高危漏洞_文件上传_10

双一流高校某教学系统存在多个高危漏洞_越权漏洞_11

接着先前思路删除cookie但修改个人信息失败。进一步分析数据包,发现两个可疑参数:head头的userId与body处的userId,经过尝试,将head头的userId修改可以实现越权修改他人信息,例如我将userId修改为2018再通过先前拿到的账户密码,发现他的信息已经被修改为了我的信息。

双一流高校某教学系统存在多个高危漏洞_教学系统漏洞_12

双一流高校某教学系统存在多个高危漏洞_文件上传_13

(经过尝试,以上漏洞通杀v1.v2.v3版本)

之后对修改密码处进行一套checklist无果......

编辑器文件上传利用

秉持着功能点多少决定攻击面大小的想法,我先登录进入了管理员账户。

在没有太多功能点的情况下,从分析js文件出发找功能点,有充足功能的情况下,就先将页面展现出来的功能点转化为接口测试,最后再分析js文件。

进入普通管理员后台,先将整个后台功能点进行总览,先不要着急去测功能点,把功能点先点一遍,再从数据包开始分析。

在数据包中发现Editor字段,加上此处存在试卷编辑功能点,于是猜测可能使用了编辑器,在js文件中搜索关键字:

双一流高校某教学系统存在多个高危漏洞_越权漏洞_14

直接找到kindeditor编辑器,此处直接想到可以尝试kindeditor的文件上传与目录遍历漏洞(多挖才会有思路)


注意此处涉及到接口拼接的一个问题,网上找的相关漏洞复现他们的路径并不是完全通用的,我们在做js拼接时也要注意,路径是否存在一个根路径,本例的根路径就是Content,如果你直接找网上的路径拼接到url处是不行的。

例如查看kindeditor版本的路径就应该是:

双一流高校某教学系统存在多个高危漏洞_文件上传_15

为4.1.10貌似存在漏洞,于是访问如下界面:

双一流高校某教学系统存在多个高危漏洞_文件上传_16

看到这个页面,根据我的经验估计稳了。于是按照步骤部署html上传页面,再将自己写另一个的xss的html通过自己的html页面进行上传,抓包得到返回路径,拼接后访问,成功弹窗,此漏洞可在未登录状态完成。(另一个目录遍历漏洞未能成功)

以下是kindeditor文件上传的html上传页面代码:(xss代码自己写)

<head>

<title>File Upload</title>

</head>

<body>

<form enctype="multipart/form-data"
action="http://******/Content/KindEditor/asp.net/upload_json.ashx?dir=file"
method="post">

<p>Upload a new file:</p>

<input type="file" name="imgFile" size="50"><br>

<input type="submit" value="Upload">

</form>

</body>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

双一流高校某教学系统存在多个高危漏洞_文件上传_17

通过数据包还看到IIS版本为7.5尝试IIS解析漏洞与MS15-034(代码执行)无果。