记录一次edu的小通杀
记录一次edu的小通杀
fofa查询随便点的一个虚拟仿真实训系统,存在多处未授权、逻辑漏洞,并且存在文件上传漏洞导致getshell,检索下来差不多十几个学校在用
从虚拟仿真系统入手感觉容易一些,一个系统可能很多学校都会用
fofa语法title="虚拟仿真 && status_code=200" 这样会收集到很多虚拟仿真系统,然后再根据特征去定位具体的系统 例如js文件名body = "/web/editor/123.js"

1.验码复用导致绕过审核登录
这个逻辑缺陷挺离谱的,之前没遇到过
提供账户注册功能,注册后可以使用账户密码登录(需要审核),也可以手机验证码直接登录,但是如果没有注册填写完整信息,直接登录的账号是访客账号,没有权限
首先注册一个账号 10086/test123456_

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

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

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

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

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

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

访问,返回无用户id,意思就是缺少用户id的参数,常见的一般就是id,uid,uuid,userId,userid,xxid这些
拼接上uid=,返回了该用户的user_token,并且测试了一下id是顺序的,也就是说通过这个接口可以遍历获取全站用户的token

token是认证身份用的,那就好说了,找一下接口然后添加上获取到的token进行利用
未授权创建/上传实训资源
观察了一下burp的请求包,有一个鉴权字段Authorization

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

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

找到了一个创建实训资源的接口,提示需要Ut,猜测Ut就是user_token
添加Ut字段,值为刚才通过/pubapi/userinfo获取到的教师账号的token,创建成功

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

查看用户实训资源
/eapi/console/myresource?type=1&page=1&limit=20
替换token为哪个用户的就能看哪个用户的资源和id

未授权删除实训资源
既然labid是顺序的,就会导致遍历recourseid删除所有资源
/eapi/console/delrecourse?type=1&recourseid=

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

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

访问url,删除域名后面的路径,泄露了存储桶的所有key
key拼接到后面就可以访问查看/下载该文件
https://xxxxx.xxx.myhuaweicloud.com/{key}

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

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

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

在后台一共找到了三个上传的接口,有的接口做了过滤,有的没有
请勿非法渗透
记录一次edu的小通杀的更多相关文章
- Postsharp 破解工具(通杀版,持续更新)
2019.04.18 重要说明 VS2019 正式版已经发布了,Postsharp v6.2.2-Preview(预览版)也开始支持VS2019.不过截至目前,该预览版还不是特别稳定,因此提醒下大家在 ...
- 通杀所有系统的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻击
通杀所有系统的硬件漏洞?聊一聊Drammer,Android上的RowHammer攻击 大家肯定知道前几天刚爆出来一个linux内核(Android也用的linux内核)的dirtycow漏洞.此洞可 ...
- X86逆向2:提取按钮通杀特征码
本章我们将学习特征码的提取与定位,特征码是软件中一段固定的具有标志性的代码片段,特征码的用途非常广泛,最常见的就是杀毒软件的查杀了,查杀就是根据特征码定位技术实现的,再比如木马的免杀也是修改了特征码的 ...
- 【渗透实战】那些奇葩的WAF_第二期_无意发现通杀漏洞,空字节突破上传!
/文章作者:Kali_MG1937 CSDN博客号:ALDYS4 QQ:3496925334 未经许可,禁止转载/ 该博文为本人18年左右的渗透记录,文法粗糙,技术含量极低,流水账文章,且今日不知为何 ...
- r0capture安卓应用层通杀脚本-使用文档
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! r0capture安卓应用层通杀脚本-使 ...
- 写一个frida通杀脚本
1. 前言 过年对我来说和平常没什么区别,该干什么干什么. 之前没接触过 frida 这个工具,前几天用了一些时间学习了一下,相比于 xposed hook 框架,frida 相对于调试方面真的很方便 ...
- [.NET] [.net 脱壳工具]Sixxpack 最新脱壳机 通杀Sixxpack全版本by -=Msdn5 君临=
[.net 脱壳工具]Sixxpack 最新脱壳机 通杀Sixxpack全版本by -=Msdn5 君临=- 识别方法: 如果无法调戏,请上传附件艾特我.............发帖不易啊..身处大西 ...
- DedeCMS全版本通杀SQL注入漏洞利用代码及工具
dedecms即织梦(PHP开源网站内容管理系统).织梦内容管理系统(DedeCms) 以简单.实用.开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,近日,网友 ...
- 飘逸的python - 极简的二叉树前中后序通杀函数
对于任一结点.能够按某种次序运行三个操作: 訪问结点本身(N) 遍历该结点的左子树(L) 遍历该结点的右子树(R) 用来表示顺序,即,前序NLR/中序LNR/后序LRN. 以下我们用namedtupl ...
- CVE-2017-11882:Microsoft office 公式编辑器 font name 字段栈溢出通杀漏洞调试分析
\x01 漏洞简介 在 2017 年 11 月微软的例行系统补丁发布中,修复了一个 Office 远程代码执行漏洞(缓冲区溢出),编号为 CVE-2017-11882,又称为 "噩梦公式&q ...
随机推荐
- 【C】Re04
一.类型限定符 extern 声明一个变量,extern声明的变量没有存储空间 const 定义一个常量,该常量必须赋值,之后且不允许更改 volatile 防止编译器优化代码??? register ...
- 【Mycat】01 概述
什么是Mycat? 数据库中间件 中间件:是一类连接软件组件和应用的计算机软件,以便于软件各部件之间的沟通. 例子:Tomcat,web中间件. 数据库中间件:连接java应用程序和数据库 为什么要用 ...
- 2024年 智能机器人元年 —— 国内的智能机器人(humanoid)公司当下最大的压力(最为急迫的任务)是什么?
可以说,2024年是人形机器人的元年.我国在去年年底将发展智能机器人立为了第一线的重要科技发展方向,并计划在2024年.2025年建立出完整的产业链条,并培育出几家成熟的行业领先的智能机器人公司.而我 ...
- java多线程之sleep 与 yield 区别
1.背景 面试中经常会被问到: sleep 与 yield 区别 2.代码 直接看代码吧! package com.ldp.demo01; import com.common.MyThreadUtil ...
- 【安装部署】Apache SeaTunnel 和 Web快速安装详解
版本说明 由于作者目前接触当前最新版本为2.3.4 但是官方提供的web版本未1.0.0,不兼容2.3.4,因此这里仍然使用2.3.3版本. 可以自定义兼容处理,官方提供了文档:https://mp. ...
- 3.2.0 版本预告!远程日志解决 Worker 故障获取不到日志的问题
Apache DolphinScheduler 3.2.0 版本已经呼之欲出,8 月 中下旬,这个大版本就要和用户见面了.为了让大家提前了解到此版本更新的主要内容,我们已经制作了几期视频和内容做了大致 ...
- 使用jquery的tmpl构建复杂表格
Tmpl提供了几种tag:${}:等同于{{=}},是输出变量,通过了html编码的.{{html}}:输出变量html,但是没有html编码,适合输出html代码.{{if }} {{else}}: ...
- Spherical Voxelization
Spherical Voxelization 标签: voxelization AI 摘要: 文档介绍了球面体素化的过程,包括重要的类和方法,如ConvertToSphericalVoxel和sphe ...
- SQL中解决i+1 & values中插入变量
基于JDBC环境下使用mysql插入数据的一些小问题 下方代码用于实现 批量向数据库中插入数据 一般为"垃圾"数据 代码例子实现i+1的效果 i=1 i+1=2 for (int ...
- MacPorts 使用
安装 安装苹果命令行开发工具: xcode-select --install 下载并打开 MacPorts 安装包. 使用 MacPorts 中的软件包称为 port. sudo port selfu ...