The JeecgBoot/jeecg boot/jmreport/loadTableData Api interface does not have identity verification. Freemarker is used to process SQL parameters passed in by the user, and arbitrary code is executed on the application side through SSTI.
Affected version
JeecgBoot <= v3.5.3
Vulnerability Analysis
/jeecg-boot/jmreport/loadTableDatainterface has SSTI injection of FreeMarkerUtils
org.jeecg.modules.jmreport.desreport.render.utils.FreeMarkerUtils.a->(new Template("template", new StringReader(var0), var2)).process(var1, var3)
By writing a payload with a freemarker template in the SQL parameters, template parsing can be triggered, resulting in template injection. Additionally, this version does not restrict classes, so template injection can cause arbitrary command execution
From Routing Processing Logic to the LoadTableData Function
Then use f.a to parse the Freemarker template for SQL