0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

几行代码端了整个教务系统

jf_ro2CN3Fa 来源:芋道源码 2023-05-30 11:17 次阅读


今天给大家伙分享一个网络安全的案例,程序员和网安同学都可以看看,

前言:本文中涉及到的相关漏洞已报送厂商并得到修复,本文仅限技术研究与讨论,严禁用于非法用途,否则产生的一切后果自行承担

漏洞成因

事情的起因是这样的,在某一天我用谷歌做信息收集的时候:inurl:xxx.edu.cn pdf,突然查找到这样一份pdf文件,看完整个人都笑出了花,有位同学转专业,被学校调剂错了,然后被公示出来,学号和sfz都泄露了。

26199058-fe8a-11ed-90ce-dac502259ad0.jpg

接着我就好心的找了一下他们学校的统一登陆的地方,发现初始登陆的密码是sfz的后六位。

261f0fb0-fe8a-11ed-90ce-dac502259ad0.jpg

直接登陆成功了,真是我的好兄弟啊。

26258188-fe8a-11ed-90ce-dac502259ad0.jpg

基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/ruoyi-vue-pro
  • 视频教程:https://doc.iocoder.cn/video/

漏洞发现

进入之后发现,只有日常事务这一个模块能登陆进去,先进去看看的。

262b2372-fe8a-11ed-90ce-dac502259ad0.jpg

进入之后测了很多地方,sql注入,文件上传之类的漏洞是统统没有啊,还有很多应用居然没有权限,但是她提醒我没有权限这一点,让我想到,会不会有未授权,但是抓包测试半天都没有成功。

但是好在天无绝人之路,我突然看到一个功能点,反馈这个功能点。

262f87e6-fe8a-11ed-90ce-dac502259ad0.jpg

输入了一些内容之后,抓取数据包看了一下。

2636adbe-fe8a-11ed-90ce-dac502259ad0.jpg
POST/api/apps/feedbackHTTP/1.1
Host:xxx.xxx.xxx:80
Content-Length:79
Accept:application/json,text/plain,*/*
X-Requested-With:XMLHttpRequest
User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0Safari/537.36Edg/110.0.1587.41
Content-Type:application/json;charset=UTF-8
Origin:http://xxx.xxx.xxx:80
Referer:http://xxx.xxx.xxx:80/
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ko;q=0.5,zh-TW;q=0.4
Cookie:sid=7e670c0c-9529-4a1b-87b6-6c6aec4edbc1
Connection:close

{"jybh":"d997E5ee-17B6-6C9A-13c1-83EAFE09F831","bt":"1","yddh":"11","jynr":"1"}

是这样一个数据包,也没有注入点之类的,感觉没啥东西啊,想着就把/api/apps/feedback这个直接拼接到url上看看,因为看到api就会让人想到信息泄露之类的。拼接上去之后,告诉我缺少pageNum这个参数,我把这个参数拼接上去。

263bf0da-fe8a-11ed-90ce-dac502259ad0.jpg

结果又告诉我缺少pageSize这个参数。

26444492-fe8a-11ed-90ce-dac502259ad0.jpg

全部拼接上去之后发现,是一条学生的信息。

264aabde-fe8a-11ed-90ce-dac502259ad0.jpg

改变这个pageNum和pageSize后面数字的大小可以看到更多信息,但是只有几个学生有反馈问题,得到的信息泄露少之又少,就只要这么一点点,够谁吃啊,再来一罐,一人一罐(刘德华bushi)。

2650480a-fe8a-11ed-90ce-dac502259ad0.jpg

基于 Spring Cloud Alibaba + Gateway + Nacos + RocketMQ + Vue & Element 实现的后台管理系统 + 用户小程序,支持 RBAC 动态权限、多租户、数据权限、工作流、三方登录、支付、短信、商城等功能

  • 项目地址:https://github.com/YunaiV/yudao-cloud
  • 视频教程:https://doc.iocoder.cn/video/

漏洞深挖

虽然说挖到这样一个漏洞,但是毫无作用啊,感觉到有些挫败的时候,突然想到,这个信息泄露肯定是整个系统的问题,找一个学生信息多的地方,拼接url,看看能不能泄露的更多。

直接找到个人信息这一块,编辑然后抓包看一下。

26577c7e-fe8a-11ed-90ce-dac502259ad0.jpg

观察一下我抓到的这个数据包,首先我想到上面拼接语句的时候,是直接url发送数据的,所以请求方法应该是GET,并且我之前请求的时候是没有body这个部分的,所以body也要删除,然后拼接上pageNum和pageSize这两个参数。

Content-Length:748
Accept:application/json,text/plain,*/*
X-Requested-With:XMLHttpRequest
User-Agent:Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/110.0.0.0Safari/537.36Edg/110.0.1587.41
Content-Type:application/json;charset=UTF-8
Origin:http://xxx.xxx.xxx:80
Referer:http://xxx.xxx.xxx:80/
Accept-Encoding:gzip,deflate
Accept-Language:zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6,ko;q=0.5,zh-TW;q=0.4
Cookie:sid=7e670c0c-9529-4a1b-87b6-6c6aec4edbc1
Connection:close

{"yhbh":"xxxxxxxxxxxx","xm":"xxx","nc":"1","zt":"0","pxh":0,"yddh":"189xxxxxxx","dzyx":"xxxxxxxxxxxx","qq":null,"wechatUnion":null,"wechatOpenid":null,"salt":"test","xbm":"1","yhlx":"0","tx":"xxxxxxxxxxxx_avatar","pf":"defaultSkin","bmmc":"19xx1","bmbh":"xxxxxxxxxxxx","jzbmbh":[],"yhjs":["XS"],"positionIds":null,"userLog":{"bh":"7d83f326-7cee-4ad4-b242-17faef9fdc90","yhbh":"xxxxxxxxxxxx","dlsj":"2023-02-122340","tcsj":"2023-02-131125","khdczxt":"Windows","khdllq":"Chrome-110.0.0.0","khdipdz":"117.92.247.178","khdlx":"PC"},"gwbh":[],"gwmc":[],"sfzjh":null,"personalSkin":null,"personalSkinThum":null,"value":null,"id":"xxxxxxxxxxxx","nickname":"1","phone":"18xxxxxx","email":"20xxxxxxxxxxxx4@xxx.edu.cn"}

但是我修改后发现请求失败了,告诉我没有权限。

265bf3f8-fe8a-11ed-90ce-dac502259ad0.jpg

感觉好像还是有地方差点意思,发现直接语句的后面只拼接了三个目录,那我尝试也只拼接三个目录试试呢。

2660a1b4-fe8a-11ed-90ce-dac502259ad0.jpg

终于这一次出现了别的学生信息,这里的话可能是五层目录没有权限,但是三层目录有权限,导致了信息泄露。

2666f06e-fe8a-11ed-90ce-dac502259ad0.jpg

然后我修改pageNum和pageSize这两个参数的大小,结果测试后pageNum=1,2,3,4,5pageSize=1000的时候,分别泄露不同的一千个人的信息,pageNum后面的数字超过5之后,就没有信息了(这个学校的学生可能就这么多了)。并且pageSize后面的数值太大会造成超时。

所以我成功获取了全校四千多名学生的姓名、班级、学号、邮箱、sfz等信息(厚码码死谢谢)

266b864c-fe8a-11ed-90ce-dac502259ad0.jpg

最后提交edusrc,做一个守法公民。

26708cbe-fe8a-11ed-90ce-dac502259ad0.jpg

漏洞总结

1、肯定还是要做好信息收集,有的时候获得了账号比没有账号好出漏洞。

2、挖漏洞的时候一定要坚持住,这套系统我来回测了好几遍才出来这个漏洞,有的时候坚持也很重要。

3、看到有api的时候,就尝试去拼接一下,很多时候就会出现一些其他功能点,或者信息的泄露。



审核编辑 :李倩


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 网络安全
    +关注

    关注

    10

    文章

    3125

    浏览量

    59588
  • 代码
    +关注

    关注

    30

    文章

    4742

    浏览量

    68337
  • 漏洞
    +关注

    关注

    0

    文章

    204

    浏览量

    15357

原文标题:真刑啊!几行代码端了整个教务系统

文章出处:【微信号:芋道源码,微信公众号:芋道源码】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    真的能改成绩?

    是提供给调用的。物理操作上的对于:改,加,删,减。都属于教务系统对数据库的调用动作。这对数据库来说是合理合法可操作性行为。因为这些可调用动作,是数据语句型【可以理解为每次只允许操作一个数据】。但是什么是不合常理非法操作呢?首先,例如这个动作:物理工作对
    发表于 03-29 14:21

    请问有谁能帮我解释一下这几行代码吗?

    几行代码我看不太懂,麻烦大师大致解释一下
    发表于 06-12 09:50

    为什么我加了那几行代码后屏幕就黑了?

    ; } 代码中我在中间加了那几行代码后屏幕就是黑屏,led也不闪了。但是删掉那几句代码就可以了。明明我加的那几句代码是无关紧要的,但是为什么
    发表于 09-10 00:42

    如何搭建基于STM32的智能教务显示系统

    如何搭建基于STM32的智能教务显示系统
    发表于 10-13 08:06

    一个网页代码如何分成几行写?

    一个网页代码如何分成几行写?
    发表于 02-15 06:11

    悠索科技高校教务管理系统 v5.1

    悠索科技高校教务管理系统 v5.1.rar 声明:            
    发表于 02-08 14:30 4次下载

    教务管理系统代码

    教务管理系统代码 主页登录部分   default.asp
    发表于 02-09 15:31 69次下载

    基于ASP.NET的教务管理信息系统的设计与实现

    为了开发一套先进的,科学的,适合自己学校特点的教务管理信息系统,为了提高教学管理人员的工作效率,为学校师生提供了良好的交流平台。本课题运用目前较为成熟的互联网,ASP.NET,C#语言,AJAX引擎
    发表于 12-28 09:57 24次下载

    基于SPRING MVC教务评教系统

    针对目前高校教务评教管理繁琐耗时的现状,本文研究和设计了一个教务评教系统系统整体架构采用SpringMVC框架技术,使用Mvbatis完成数据的持久化工作,应用MyEclipsel0
    发表于 11-09 15:42 9次下载
    基于SPRING MVC<b class='flag-5'>教务</b>评教<b class='flag-5'>系统</b>

    如何通过pandas读取csv文件指定的前几行

    今天小编给大家分享一篇Python技术开发方面的文章,如何实现pandas读取csv文件指定的前几行,喜欢Python开发的小伙伴下面就随小编一起来了解一下吧。
    发表于 09-19 17:43 16次下载

    在 NGC 上玩转新一代推理部署工具 FastDeploy,几行代码搞定 AI 部署

    号外: 全场景高性能 AI 部署工具  FastDeploy 发版 v1.0 几行代码搞定 AI 部署,快速使用 150+ 预置部署示例,支持 CV、NLP、Speech、Cross-model
    的头像 发表于 12-13 19:50 1199次阅读

    一文搞懂Linux系统内核的重要性

    推荐一本书籍,用来巩固大家学习内核的操作。其实,Linux内核可以通过编写代码来验证,几行代码就能够表达我们需要表达的内容,但是光靠几行代码
    的头像 发表于 03-24 15:16 882次阅读
    一文搞懂Linux<b class='flag-5'>系统</b>内核的重要性

    润和软件HopeStage助力高校教务系统平台创新发展

    HopeStage助力高校教务系统平台创新发展》主题演讲,充分展示了HopeStage操作系统的特色及在教育行业的应用创新。 润和软件携手金智教育推进教育“互联网+政务服务”,成为润和软件HopeStage操作
    的头像 发表于 06-21 16:45 516次阅读
    润和软件HopeStage助力高校<b class='flag-5'>教务</b><b class='flag-5'>系统</b>平台创新发展

    润和软件HopeStage助力高校教务系统平台创新发展

    HopeStage助力高校教务系统平台创新发展》主题演讲,充分展示了HopeStage操作系统的特色及在教育行业的应用创新。润和软件携手金智教育推进教育“互联网+政务服务”,成为润和软件HopeStage操作
    的头像 发表于 06-21 16:45 517次阅读

    python运行指定几行

    Python是一种高级编程语言,可以用于开发各种类型的应用程序,包括网站、桌面应用程序、数据分析和人工智能等。在Python中运行指定的几行代码十分简单,它不仅能够帮助程序员快速开发软件,也适用于
    的头像 发表于 11-29 15:04 924次阅读