RCE with PostgreSQL Languages
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
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ą.
Sprawdź następującą stronę:
PL/pgSQL Password BruteforceSprawdź następującą stronę:
RCE with PostgreSQL ExtensionsUcz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)