RCE with PostgreSQL Languages
Języki PostgreSQL
Baza danych PostgreSQL, do której uzyskałeś dostęp, może mieć zainstalowane różne języki skryptowe, które można wykorzystać do wykonywania dowolnego kodu.
Możesz uruchomić je:
Większość języków skryptowych, które można zainstalować w PostgreSQL, ma 2 warianty: zaufany i niezaufany. Wariant niezaufany będzie miał nazwę zakończoną na "u" i będzie wersją, która umożliwi Ci wykonywanie kodu i korzystanie z innych interesujących funkcji. Oto języki, które są interesujące, jeśli są zainstalowane:
plpythonu
plpython3u
plperlu
pljavaU
plrubyu
... (dowolny inny język programowania korzystający z niebezpiecznej wersji)
Jeśli odkryjesz, że interesujący język jest zainstalowany, ale przez PostgreSQL jest niezaufany (lanpltrusted
ma wartość false
), możesz spróbować zaufać mu za pomocą następującej linii, aby PostgreSQL nie stosował żadnych ograniczeń:
Jeśli nie widzisz języka, spróbuj go załadować z (musisz być superadminem):
Należy zauważyć, że możliwe jest skompilowanie bezpiecznych wersji jako "niebezpieczne". Sprawdź to na przykład. Warto więc zawsze spróbować, czy można wykonać kod, nawet jeśli znajdziesz tylko zainstalowaną wersję zaufaną.
plpythonu/plpython3u
pgSQL
Sprawdź następującą stronę:
pagePL/pgSQL Password BruteforceC
Sprawdź następującą stronę:
pageRCE with PostgreSQL ExtensionsLast updated