漏洞挖掘—EDU SRC证书站漏洞挖掘记录

发布于:2025-03-19 ⋅ 阅读:(13) ⋅ 点赞:(0)

免责声明:请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。

前言

       好久没有写文章了,最近挖掘EDU SRC证书站过程中捡漏了几个漏洞,遂记录一下漏洞挖掘过程。感觉每次证书上新挖掘竞争都很激烈,明明刚刚上新,才十几分钟就有大佬交报告拿证书了,交上的报告只能收到 “重复” 两字。

一、Spring Boot未授权访问

      某天中午刚吃完饭就收到了邮箱通知,发现新上了一个证书站,随即打开电脑叫上同事一起,试一试能不能捡漏一波。

       首先就是利用各种信息收集工具做一波信息收集,经过几次 “抢” 证书站的经验,刚刚上新的证书站很可能会有站点会直接存在漏洞,而收集学生/老师信息去进行登录测试又太耗费时间,所以直接收集了一波域名和站点信息就开始了扫描加测试。

       导出一波资产以后直接整理域名分批导入进行目录扫描,接着自己点击着各种站点大概了解站点信息,过了一会还真就出现了一个不一样的接口 /actuator ,赶紧打开网站看一眼,这不就来洞了,直接一个Spring Boot未授权访问,而且还泄露heapdump文件。

       结果连着点了几个接口都回显了错误,再点回去看了一眼,原来之前扫描结果还拼接了一个目录,加上该目录之后成功下载了heapdump文件。利用工具获取出文件内的信息,大致看了一下,但实在是太乱不好整理,直接扔给deepseek让他给我分析一下,根据获取的信息我又进一步测试了一波,可惜都没有成功。

       睡了一觉起来,发现提交的漏洞已经通过了,并且获得了中危的评级,美滋滋换了一个证书。同事提交了一个未授权访问获取敏感信息也通过了,这里为后续继续测试打下了基础(是我不要脸问的)。

二、敏感信息泄露

      看了一下报告,里面泄露大量的教师信息,危害还是挺大的,等晚上回家再继续测试。

       晚上回家打开电脑继续测试,通过之前搜集的信息找到了 “统一身份认证系统” ,页面上直接写明了默认密码为身份证号后六位,利用之前获取到的身份信息成功登录了三个教师账户。

       而登录后发现可以直接跳转到其他系统内,不需要二次认证,便对三个账户进行登录测试,发现其中一个用户有进入学生管理系统的权限。

       成功登录到学生管理系统切换管理模式,点击多个接口进行抓包测试,在点击 “师生查询” 时发现接口泄露了部分学生信息。

       抓包内容大致如下,只做演示作用,接口信息已替换。其中传递的参数可以根据命名大概猜测作用,pageNum表示请求的页码,pageSize表示请求的数据条数(这里可以调整大一些获取更多数据),inStudentStatusSign表示学生状态(后续经过测试此参数代表学生是否在校状态,将参数值设置为false之后可获取所有状态学生信息),nj表示年级(参数置空后可获取所有年级学生信息)。

POST /admin/XXX/student/studentInfo/XXXXXX HTTP/1.1

Host:

Cookie:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0

Accept: application/json

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Content-Type: application/json;charset=utf-8

{"pageNum":1,"pageSize":150,"inStudentStatusSign":false,"total":0,"param":{},"nj":""}

       也是成功获取了部分学生的学生信息,但其实在后续测试中发现,教师用户权限可以直接导出学生信息,压根不需要通过接口泄露去找。

三、遍历敏感信息

       发现信息泄露的漏洞后就想着有没有其他能测试的点,通过Google语句搜索了该学校有没有其他默认口令的站点,后面也是利用泄露的信息成功登录了邮箱等多个系统,但可惜的是大多系统都有登录后更改密码的机制,能成功登录的账号里面都是空的,实在没什么泄露的信息。

       兜兜转转又回到了这个学生管理系统,感觉这个系统还有可能存在其他漏洞。没有找到默认密码,在登录页面点击“忘记密码”,发现只要账号、姓名和身份证号就可以修改密码,直接利用之前获取的学生信息成功修改了密码。

       利用账号密码登录之后依然是点击功能点进行抓包测试,当然优先看的就是个人信息界面。

        访问界面后发现有大量的学生个人信息,查看访问过程中产生的请求/响应包,成功发现了包含数据信息的响应包,查看了一下请求包,好家伙目录命名直接就是学号,这肯定得替换一下学号进行测试,最后成功遍历了学生个人信息。

        抓包内容大致如下,只做演示作用,接口信息已替换。

GET /XXX/student/studentInfo/XXXX/111111111111 HTTP/1.1

Host:

Cookie:

User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:136.0) Gecko/20100101 Firefox/136.0

Accept: application/json, text/plain, */*

Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2

Accept-Encoding: gzip, deflate

Connection: close

       在后续功能点测试中,学生账号共有7处类似的功能点存在遍历漏洞,而教师账号共有2处功能点存在遍历漏洞,且都泄露了敏感信息,直接打包提交。 

四、垂直越权

       依然是这个系统,前面因为遍历点太多了一直没关注到其他地方,过了两天之后突然想起来,既然个人信息接口做的这么差,会不会有垂直越权漏洞。

       直接利用学生账户登录进行抓包,替换教师账户接口,成功进行越权。

结尾

       最后也是全部提交到EDU SRC平台,成功捡漏了7个漏洞。漏洞都是比较简单的,其实还是重点在于信息收集工作,每次新上的站点都会遭到大家 “哄抢” ,挖掘速度也是至关重要。