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żesz wykorzystać do wykonywania dowolnego kodu.
Możesz je uruchomić:
Większość języków skryptowych, które można zainstalować w PostgreSQL, ma 2 odmiany: zaufaną i niezaufaną. Niezaufana będzie miała nazwę kończącą się na "u" i będzie wersją, która pozwoli ci na 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
... (jakikolwiek inny język programowania używający niebezpiecznej wersji)
Jeśli znajdziesz, że interesujący język jest zainstalowany, ale niezaufany przez PostgreSQL (lanpltrusted
jest false
), możesz spróbować zaufać mu za pomocą następującej linii, aby żadne ograniczenia nie były stosowane przez PostgreSQL:
Jeśli nie widzisz języka, możesz spróbować załadować go z (musisz być superadminem):
Zauważ, że możliwe jest skompilowanie bezpiecznych wersji jako "niebezpieczne". Sprawdź to na przykład. Zawsze warto spróbować, czy możesz wykonać kod, nawet jeśli znajdziesz zainstalowaną tylko wersję zaufaną.
plpythonu/plpython3u
pgSQL
Sprawdź następującą stronę:
PL/pgSQL Password BruteforceC
Sprawdź następującą stronę:
RCE with PostgreSQL ExtensionsLast updated