记录一次edu的小通杀

news/2024/10/14 15:22:01

记录一次edu的小通杀

fofa查询随便点的一个虚拟仿真实训系统,存在多处未授权、逻辑漏洞,并且存在文件上传漏洞导致getshell,检索下来差不多十几个学校在用

从虚拟仿真系统入手感觉容易一些,一个系统可能很多学校都会用

fofa语法title="虚拟仿真 && status_code=200" 这样会收集到很多虚拟仿真系统,然后再根据特征去定位具体的系统 例如js文件名body = "/web/editor/123.js"

image-20241012215029350

 

1.验码复用导致绕过审核登录

这个逻辑缺陷挺离谱的,之前没遇到过

提供账户注册功能,注册后可以使用账户密码登录(需要审核),也可以手机验证码直接登录,但是如果没有注册填写完整信息,直接登录的账号是访客账号,没有权限

首先注册一个账号 10086/test123456_

 

注册这里填写信息,需要获取手机验证码(后来无意发现这里没有校验验证码)

image-20241012215650886

用注册的账户密码登录,提示账号正在审核中,无法登录

image-20241012220101599

审核未通过的时候,用手机号验证码登录,点击获取验证码会提示已经注册,不会再发送验证码

image-20241011195447423

但是验证码可以重复使用,直接用刚才注册获取到的验证码登录

image-20241012221445006

登录成功,点击右上角进入教学空间,成功进入,权限检验没问题

image-20241012221301604

 

2.token泄露

findsomething找到了一个接口 /pubapi/userinfo,字面意思上是查看用户信息的

image-20241012213017888

访问,返回无用户id,意思就是缺少用户id的参数,常见的一般就是id,uid,uuid,userId,userid,xxid这些

拼接上uid=,返回了该用户的user_token,并且测试了一下id是顺序的,也就是说通过这个接口可以遍历获取全站用户的token

token是认证身份用的,那就好说了,找一下接口然后添加上获取到的token进行利用

未授权创建/上传实训资源

观察了一下burp的请求包,有一个鉴权字段Authorization

image-20241012222935791

丢到jwt解密一下,没什么有价值的信息,这里的uid=0应该是个缺省值

image-20241012223027927

发现Authorization的值是通过/pubapi/authorize接口返回的access_token

image-20241012223637256

找到了一个创建实训资源的接口,提示需要Ut,猜测Ut就是user_token

添加Ut字段,值为刚才通过/pubapi/userinfo获取到的教师账号的token,创建成功

image-20241012224007090

 

 

 

再发送一次,发现labid是顺序的,可遍历

image-20241012224415728

查看用户实训资源

/eapi/console/myresource?type=1&page=1&limit=20

替换token为哪个用户的就能看哪个用户的资源和id

image-20241012224515641

未授权删除实训资源

既然labid是顺序的,就会导致遍历recourseid删除所有资源

/eapi/console/delrecourse?type=1&recourseid=

image-20241012234801535

删除一个不存在的会提示删除失败

image-20241012234839201

3.存储桶遍历

上面获取user_token的接口返回了头像的地址,发现是存储桶

image-20241012230650561

访问url,删除域名后面的路径,泄露了存储桶的所有key

key拼接到后面就可以访问查看/下载该文件

https://xxxxx.xxx.myhuaweicloud.com/{key}

image-20241012232651292

4.GetShell

进入到后台,创建课程的功能点里有个上传课程标准

image-20241012233814215

上传php,没有过滤,直接上传成功,并且返回了文件地址

image-20241012234244958

访问返回的地址,解析成功

image-20241012234137132

在后台一共找到了三个上传的接口,有的接口做了过滤,有的没有

 

请勿非法渗透

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/71463.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

计量经济学(二)——多元线性回归概览

img { display: block; margin-left: auto; margin-right: auto } table { margin-left: auto; margin-right: auto } 多元线性回归(Multiple Linear Regression, MLR)是一种统计模型,被广泛认为是计量经济学的核心基础。多元线性回归为经济研究者提供了一种有效的方法来建模…

文本三剑客——sed【转】

sed sed处理的是行 sed 不打开文件的情况下更改文件的内容 sed [选项 ] ...{脚本语法} 文件名 sed 自己的语法:输出哪些行,留下哪些行 语法:范围+操作sed命令的选项 -i:实际修改文件内容 -i.bak:实际修改前先备份原文件,会产生一个源文件.bak的文件 -n:关闭自动打印 -r…

Qt/C++编写的mqtt调试助手使用说明

一、使用说明第一步,选择协议前缀,可选mqtt://、mqtts://、ws://、wss://四种,带s结尾的是走ssl通信,ws表示走websocket通信。一般选默认的mqtt://就好。 第二步,填写服务所在主机地址,可以是IP地址也可以是网址,只要真实存在的就行。 第三步,填写通信所用端口号,mqtt…

springboot~ConstraintValidatorContext验证两个字段内容相同

场景 我在开发修改密码功能,通过原密码和新密码及确认新密码,希望通过ConstraintValidator这个方式来校验新密码和确认新密码,规则是这两个密码需要是相同的。 参考文档https://github.com/micronaut-projects/micronaut-core/issues/3243 https://stackoverflow.com/questi…

制造业单项冠军 | 麦澜德如何用CRM管业务,做到“专精特新” ?

南京麦澜德医疗科技股份有限公司,股票代码:688273.SH(以下简称:麦澜德)成立于2013年,是国内女性全生命周期物理康复干预技术解决方案提供商。 公司产品广泛应用于妇产、盆底康复、生殖康复、泌尿肛肠、体检等医疗健康领域。荣获工信部专精特新小巨人企业、苏南潜在独角兽铜…

PyQt5 使用 aiohttp 发送异步请求

PyQt5 使用 aiohttp 发送异步请求 本文使用PyQt5演示,如何结合aiohttp库,发送异步请求 代码结构 本文中全部代码全在test_async_request.py这一个文件中编码,步骤中有变动的地方会注释标注,无改动的不会重复显示出来,需要看完整代码的,可直接移步到末尾。 需要安装PyQt5,…

华为 OD 的职级与薪资。。

大家好,我是R哥。 之前分享了一篇《冲进数字马力了!真滴香!!》,这是大厂内包,今天说说华为 OD,一种不同于普通外包的高级外包。 华为 OD,我们面试辅导也弄了不少人进去,很多小伙伴纳闷华为 OD 和华为正编、华为外包有什么区别? 一提到外包,可能大多数人都会嗤之以鼻…

HyperMesh基础教程:概述与有限元分析简介

1.1 HyperMesh 概述 本节将介绍有限单元法基本原理,HyperMesh 软件基本功能及界面介绍,获取在线帮助等内容。 1.1.1 有限元分析方法简介 有限单元法(FEM)是一种可以精确预测复杂结构在外界载荷作用下响应的方法,该数值方法起源于上世纪 50 年代。在有限单元法出现之前,验…